public class SchemaParser extends Object
SchemaParser
reads an XML Schema Document.
Modifier and Type | Field and Description |
---|---|
private Map |
dataTypeCache
Cache of
XSDatatype instances loaded or created during this build |
private DatatypeDocumentFactory |
documentFactory
Document factory used to register Element specific factories
|
private NamedTypeResolver |
namedTypeResolver
NamedTypeResolver
|
private static QName |
XSD_ALL |
private static QName |
XSD_ATTRIBUTE |
private static QName |
XSD_CHOICE |
private static QName |
XSD_COMPLEXTYPE |
private static QName |
XSD_ELEMENT |
private static QName |
XSD_INCLUDE |
private static Namespace |
XSD_NAMESPACE |
private static QName |
XSD_RESTRICTION |
private static QName |
XSD_SEQUENCE |
private static QName |
XSD_SIMPLETYPE |
Constructor and Description |
---|
SchemaParser() |
SchemaParser(DatatypeDocumentFactory documentFactory) |
Modifier and Type | Method and Description |
---|---|
void |
build(Document schemaDocument)
Parses the given schema document
|
protected com.sun.msv.datatype.xsd.XSDatatype |
dataTypeForXsdAttribute(Element xsdAttribute)
processes an XML Schema <attribute> tag
|
protected com.sun.msv.datatype.xsd.XSDatatype |
deriveSimpleType(com.sun.msv.datatype.xsd.XSDatatype baseType,
Element xsdRestriction)
Derives a new type from a base type and a set of restrictions
|
protected DatatypeElementFactory |
getDatatypeElementFactory(QName elementQName) |
protected QName |
getQName(String name) |
protected com.sun.msv.datatype.xsd.XSDatatype |
getTypeByName(String type) |
protected com.sun.msv.datatype.xsd.XSDatatype |
loadXSDatatypeFromSimpleType(Element xsdSimpleType)
Loads a XSDatatype object from a
|
protected void |
onChildElements(Element element,
DatatypeElementFactory factory) |
protected void |
onDatatypeAttribute(Element xsdElement,
DatatypeElementFactory elementFactory,
Element xsdAttribute)
processes an XML Schema <attribute> tag
|
protected void |
onDatatypeElement(Element xsdElement,
DocumentFactory parentFactory)
processes an XML Schema <element> tag
|
protected void |
onNamedSchemaComplexType(Element schemaComplexType)
processes an named XML Schema <complexTypegt; tag
|
protected void |
onNamedSchemaSimpleType(Element schemaSimpleType)
processes an named XML Schema <complexTypegt; tag
|
protected void |
onSchemaComplexType(Element schemaComplexType,
DatatypeElementFactory elementFactory)
processes an XML Schema <complexTypegt; tag
|
protected void |
onSchemaError(String message)
Called when there is a problem with the schema and the builder cannot
handle the XML Schema Data Types correctly
|
private static final Namespace XSD_NAMESPACE
private static final QName XSD_ELEMENT
private static final QName XSD_ATTRIBUTE
private static final QName XSD_SIMPLETYPE
private static final QName XSD_COMPLEXTYPE
private static final QName XSD_RESTRICTION
private static final QName XSD_SEQUENCE
private static final QName XSD_CHOICE
private static final QName XSD_INCLUDE
private DatatypeDocumentFactory documentFactory
private Map dataTypeCache
XSDatatype
instances loaded or created during this buildprivate NamedTypeResolver namedTypeResolver
public SchemaParser()
public SchemaParser(DatatypeDocumentFactory documentFactory)
public void build(Document schemaDocument)
schemaDocument
- is the document of the XML Schemaprotected void onDatatypeElement(Element xsdElement, DocumentFactory parentFactory)
protected void onNamedSchemaComplexType(Element schemaComplexType)
protected void onSchemaComplexType(Element schemaComplexType, DatatypeElementFactory elementFactory)
protected void onChildElements(Element element, DatatypeElementFactory factory)
protected void onDatatypeAttribute(Element xsdElement, DatatypeElementFactory elementFactory, Element xsdAttribute)
protected com.sun.msv.datatype.xsd.XSDatatype dataTypeForXsdAttribute(Element xsdAttribute)
protected void onNamedSchemaSimpleType(Element schemaSimpleType)
protected com.sun.msv.datatype.xsd.XSDatatype loadXSDatatypeFromSimpleType(Element xsdSimpleType)
protected com.sun.msv.datatype.xsd.XSDatatype deriveSimpleType(com.sun.msv.datatype.xsd.XSDatatype baseType, Element xsdRestriction)
protected DatatypeElementFactory getDatatypeElementFactory(QName elementQName)
DatatypeElementFactory
for the given
element QName, creating one if it does not already existprotected com.sun.msv.datatype.xsd.XSDatatype getTypeByName(String type)
protected void onSchemaError(String message)
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses