org.apache.ws.jaxme.xs.impl
public class XSLogicalParser extends Object
Implementation of a logical parser.
Nested Class Summary | |
---|---|
static class | XSLogicalParser.AddedImport This class is used to ensure, that schemata aren't loaded
twice. |
Method Summary | |
---|---|
protected void | add(XsESchema pSyntaxSchema, Object pChild) Adds the given object to the schema. |
void | addImport(String pNamespace, String pSchemaLocation) Adds a schema being imported by the parser. |
void | addImport(String pNamespace, String pSchemaLocation, Node pSchema) Adds a schema being imported by the parser. |
protected void | addSyntaxSchema(XsESchema pSyntaxSchema) |
protected void | clearSyntaxSchemas() |
protected void | createSubstitutionGroups(XSSchema pSchema) |
XSLogicalParser.AddedImport[] | getAddedImports() Returns the array of added imports, typically empty. |
XsESchema | getCurrentSyntaxSchema() Returns the syntax schema, which is currently being parsed. |
protected XSContext | getData() |
protected InputSource | getInputSource(String pReferencingSystemId, String pURI) Converts the given URI into an instance of InputSource. |
XSSchema | getSchema() Returns the schema, which is currently being parsed. |
XsESchema[] | getSyntaxSchemas() Provides context information to the schema which is currently being parsed. |
XSContentHandler | getXSContentHandler(String pSystemId) This is the logical parsers frontend for parsing a stream of SAX events. |
protected void | importSchema(XsESchema pImportingSchema, String pNamespace, String pSchemaLocation, Locator pLocator) Handles xs:import. |
protected void | importSchema(XsESchema pImportingSchema, String pNamespace, Node pNode, String pSchemaLocation) |
protected void | includeSchema(XsESchema pIncludingSchema, XsEInclude pInclude, Locator pLocator, String pSchemaLocation) Handles xs:include. |
boolean | isValidating() Returns whether the parser is validating. |
protected void | parse(XsESchema pSyntaxSchema, String pSchemaLocation) Parses the given InputSource syntactically and converts the objects that it finds into logical objects. |
XSSchema | parse(Node pNode) This is the logical parsers frontend for parsing a DOM node. |
XSSchema | parse(InputSource pSource) This is the logical parsers frontend for parsing the given InputSource. |
protected XsESchema | parseSyntax(Node pNode) |
protected XsESchema | parseSyntax(Locator pLocator, String pSchemaLocation) |
protected void | parseSyntax(Locator pLocator, String pSchemaLocation, XsESchema pSchema) |
protected void | redefine(XsESchema pSyntaxSchema, XsERedefine pRedefine, XsRedefinable pChild) Redefines the given XsRedefinable. |
protected void | redefineSchema(XsESchema pRedefiningSchema, XsERedefine pRedefine) Handles xs:refefine. |
protected void | removeSyntaxSchema() |
protected void | setSchema(XSSchema pSchema) Sets the schema, which is currently being parsed. |
void | setValidating(boolean pValidating) Sets whether the parser is validating. |
Adds the given object to the schema.
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.
Parameters: 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.
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.
Parameters: 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.
Returns the array of added imports, typically empty.
Returns the syntax schema, which is currently being parsed.
Converts the given URI into an instance of InputSource.
Returns the schema, which is currently being parsed.
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.
This is the logical parsers frontend for parsing a stream of SAX events.
Parameters: 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.
Handles xs:import.
Handles xs:include.
Returns whether the parser is validating.
Parses the given InputSource syntactically and converts the objects that it finds into logical objects. These logical objects are added to the given XSSchema.
This is the logical parsers frontend for parsing a DOM node.
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.
See Also: XSLogicalParser
Redefines the given XsRedefinable.
Handles xs:refefine.
Sets the schema, which is currently being parsed.
Sets whether the parser is validating.