org.exist.validation
Class EntityResolver

java.lang.Object
  extended byorg.exist.validation.EntityResolver
All Implemented Interfaces:
org.apache.xerces.xni.parser.XMLEntityResolver

public class EntityResolver
extends java.lang.Object
implements org.apache.xerces.xni.parser.XMLEntityResolver

Specific grammar resolver for eXist. Currently supports XSD and DTD. XML Schemas and DTD grammars are stored in collections of the database: /db/system/grammar/xsd /db/system/grammar/dtd The XSD's are resolved automatically using xQuery. For DTD's (hey this is ancient stuff, these are no xml documents) separate data management is required. The details are stored in /db/system/grammar/dtd/catalog/xml Extra bonus: an xQuery generating a catalogus with DTD's and XSD's /db/system/grammar/xq/catalog.xq

Author:
dizzzz
See Also:
NOTES ===== - Keep list called grammar id's. For first grammar the base URI must be set. other grammars must be found relative, unless full path is used. - If not schema but folder is supplied, use this folder as startpoint search grammar set -

Constructor Summary
EntityResolver(DatabaseResources resources)
          Initialize EntityResolver.
 
Method Summary
 org.apache.xerces.xni.parser.XMLInputSource resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier xrid)
          Resolve GRAMMAR specified with this GRAMMAR id
 void setStartGrammarPath(java.lang.String path)
          WHat can be supplied: - path to collection (/db/foo/bar/) In this case all grammars must be searched.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EntityResolver

public EntityResolver(DatabaseResources resources)
Initialize EntityResolver.

Parameters:
resources -
Method Detail

setStartGrammarPath

public void setStartGrammarPath(java.lang.String path)
WHat can be supplied: - path to collection (/db/foo/bar/) In this case all grammars must be searched. o Grammars can be found using xquery o DTD's can only be found by finding catalog files. - path to start schema (/db/foo/bar/special.xsd) The pointed grammar -if it exist- must be used - path to catalog file (/db/foo/bar/catalog.xml)

Parameters:
path - Path tp

resolveEntity

public org.apache.xerces.xni.parser.XMLInputSource resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier xrid)
                                                          throws org.apache.xerces.xni.XNIException,
                                                                 java.io.IOException
Resolve GRAMMAR specified with this GRAMMAR id

Specified by:
resolveEntity in interface org.apache.xerces.xni.parser.XMLEntityResolver
Parameters:
xrid - Grammar Identifier.
Returns:
Inputsource containing grammar.
Throws:
org.apache.xerces.xni.XNIException - Xerces exception, can be anything
java.io.IOException - Can be anything


Copyright (C) Wolfgang Meier. All rights reserved.