Implementation of a logical parser.
add
protected void add(XsESchema pSyntaxSchema,
Object pChild)
throws SAXException
Adds the given object to the schema.
addImport
public void addImport(String pNamespace,
String pSchemaLocation)
Adds a schema being imported by the parser. This feature
is useful, if a schema silently assumes the presence of additional
datatypes. For example, a WSDL definition will contain references
to SOAP datatypes without explicit import.
In practice, the declaration will silently create an
"xs:import" node.
pNamespace
- Matches the "xs:import" nodes "namespace" attribute.
In particular it may be null, in which case the imported schema may
not have a targetNamespace.pSchemaLocation
- Matches the "xs:import" nodes "schemaLocation"
attribute. In particular it may be null.
addImport
public void addImport(String pNamespace,
String pSchemaLocation,
Node pSchema)
Adds a schema being imported by the parser. The schema is
provided as a DOM node. This feature is useful, if a schema
silently assumes the presence of additional datatypes. For
example, a WSDL definition will contain references to SOAP
datatypes without explicit import.
pNamespace
- Matches the "xs:import" nodes "namespace"
attribute. In particular it may be null, in which case the
imported schema may not have a targetNamespace.pSchemaLocation
- System ID of the schema being imported,
if known, or null. Knowing the system ID is important only,
if you need to prevent recursive parsing of schemata.pSchema
- A DOM node with the schema being imported.
addSyntaxSchema
protected void addSyntaxSchema(XsESchema pSyntaxSchema)
clearSyntaxSchemas
protected void clearSyntaxSchemas()
createSubstitutionGroups
protected void createSubstitutionGroups(XSSchema pSchema)
throws SAXException
getCurrentSyntaxSchema
public XsESchema getCurrentSyntaxSchema()
Returns the syntax schema, which is currently being parsed.
getInputSource
protected InputSource getInputSource(String pReferencingSystemId,
String pURI)
throws SAXException
Converts the given URI into an instance of InputSource.
getSchema
public XSSchema getSchema()
Returns the schema, which is currently being parsed.
getSyntaxSchemas
public XsESchema[] getSyntaxSchemas()
Provides context information to the schema which is currently being parsed.
The schema with index 0 is the outermost schema, on which the parser is actually
invoked.
getXSContentHandler
public XSContentHandler getXSContentHandler(String pSystemId)
throws SAXException
This is the logical parsers frontend for parsing a stream
of SAX events.
pSystemId
- System Id (schema location of the schema being parsed, if known.
Null otherwise. Knowing the system id is important only, if you want
to prevent recursive includes.
importSchema
protected void importSchema(XsESchema pImportingSchema,
String pNamespace,
Node pNode,
String pSchemaLocation)
throws SAXException,
IOException,
ParserConfigurationException
importSchema
protected void importSchema(XsESchema pImportingSchema,
String pNamespace,
String pSchemaLocation,
Locator pLocator)
throws SAXException,
IOException,
ParserConfigurationException
Handles xs:import.
includeSchema
protected void includeSchema(XsESchema pIncludingSchema,
XsEInclude pInclude)
throws SAXException,
IOException,
ParserConfigurationException
Handles xs:include.
isValidating
public boolean isValidating()
Returns whether the parser is validating.
parse
public XSSchema parse(InputSource pSource)
throws ParserConfigurationException,
SAXException,
IOException
This is the logical parsers frontend for parsing the given
InputSource
. If the parsed schema includes or imports other
schemas, they are also parsed and added to the parsers object
tree.
parse
public XSSchema parse(Node pNode)
throws SAXException
This is the logical parsers frontend for parsing a DOM node.
parse
protected void parse(XsESchema pSyntaxSchema,
String pSchemaLocation)
throws ParserConfigurationException,
SAXException,
IOException
Parses the given
InputSource
syntactically and
converts the objects that it finds into logical objects.
These logical objects are added to the given
XSSchema
.
parseSyntax
protected XsESchema parseSyntax(Locator pLocator,
String pSchemaLocation)
throws SAXException,
IOException,
ParserConfigurationException
parseSyntax
protected void parseSyntax(Locator pLocator,
String pSchemaLocation,
XsESchema pSchema)
throws SAXException,
IOException,
ParserConfigurationException
parseSyntax
protected XsESchema parseSyntax(Node pNode)
throws SAXException
redefineSchema
protected void redefineSchema(XsESchema pRedefiningSchema,
XsERedefine pRedefine)
throws SAXException,
IOException,
ParserConfigurationException
Handles xs:refefine.
removeSyntaxSchema
protected void removeSyntaxSchema()
setSchema
protected void setSchema(XSSchema pSchema)
Sets the schema, which is currently being parsed.
setValidating
public void setValidating(boolean pValidating)
Sets whether the parser is validating.