public class SchemaParser
extends java.lang.Object
SchemaParser
reads an XML Schema Document.
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,com.sun.msv.datatype.xsd.XSDatatype> |
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 Namespace |
targetNamespace
target namespace
|
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
|
void |
build(Document schemaDocument,
Namespace namespace) |
private com.sun.msv.datatype.xsd.XSDatatype |
dataTypeForXsdAttribute(Element xsdAttribute)
processes an XML Schema <attribute> tag
|
private 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
|
private DatatypeElementFactory |
getDatatypeElementFactory(QName name)
DOCUMENT ME!
|
private QName |
getQName(java.lang.String name) |
private com.sun.msv.datatype.xsd.XSDatatype |
getTypeByName(java.lang.String type) |
private void |
internalBuild(Document schemaDocument) |
private com.sun.msv.datatype.xsd.XSDatatype |
loadXSDatatypeFromSimpleType(Element xsdSimpleType)
Loads a XSDatatype object from a <simpleType> attribute schema
element
|
private void |
onChildElements(Element element,
DatatypeElementFactory fact) |
private void |
onDatatypeAttribute(Element xsdElement,
DatatypeElementFactory elementFactory,
Element xsdAttribute)
processes an XML Schema <attribute> tag
|
private void |
onDatatypeElement(Element xsdElement,
DocumentFactory parentFactory)
processes an XML Schema <element> tag
|
private void |
onNamedSchemaComplexType(Element schemaComplexType)
processes an named XML Schema <complexTypegt; tag
|
private void |
onNamedSchemaSimpleType(Element schemaSimpleType)
processes an named XML Schema <simpleTypegt; tag
|
private void |
onSchemaComplexType(Element schemaComplexType,
DatatypeElementFactory elementFactory)
processes an XML Schema <complexTypegt; tag
|
private void |
onSchemaError(java.lang.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_ALL
private static final QName XSD_INCLUDE
private DatatypeDocumentFactory documentFactory
private java.util.Map<java.lang.String,com.sun.msv.datatype.xsd.XSDatatype> dataTypeCache
XSDatatype
instances loaded or created during
this buildprivate NamedTypeResolver namedTypeResolver
private Namespace targetNamespace
public SchemaParser()
public SchemaParser(DatatypeDocumentFactory documentFactory)
public void build(Document schemaDocument)
schemaDocument
- is the document of the XML Schemaprivate void internalBuild(Document schemaDocument)
private void onDatatypeElement(Element xsdElement, DocumentFactory parentFactory)
xsdElement
- DOCUMENT ME!parentFactory
- DOCUMENT ME!private void onNamedSchemaComplexType(Element schemaComplexType)
schemaComplexType
- DOCUMENT ME!private void onSchemaComplexType(Element schemaComplexType, DatatypeElementFactory elementFactory)
schemaComplexType
- DOCUMENT ME!elementFactory
- DOCUMENT ME!private void onChildElements(Element element, DatatypeElementFactory fact)
private void onDatatypeAttribute(Element xsdElement, DatatypeElementFactory elementFactory, Element xsdAttribute)
xsdElement
- DOCUMENT ME!elementFactory
- DOCUMENT ME!xsdAttribute
- DOCUMENT ME!private com.sun.msv.datatype.xsd.XSDatatype dataTypeForXsdAttribute(Element xsdAttribute)
xsdAttribute
- DOCUMENT ME!InvalidSchemaException
- DOCUMENT ME!private void onNamedSchemaSimpleType(Element schemaSimpleType)
schemaSimpleType
- DOCUMENT ME!private com.sun.msv.datatype.xsd.XSDatatype loadXSDatatypeFromSimpleType(Element xsdSimpleType)
xsdSimpleType
- DOCUMENT ME!private com.sun.msv.datatype.xsd.XSDatatype deriveSimpleType(com.sun.msv.datatype.xsd.XSDatatype baseType, Element xsdRestriction)
baseType
- DOCUMENT ME!xsdRestriction
- DOCUMENT ME!private DatatypeElementFactory getDatatypeElementFactory(QName name)
name
- The name of the elementDatatypeElementFactory
for the given element
QName, creating one if it does not already existprivate com.sun.msv.datatype.xsd.XSDatatype getTypeByName(java.lang.String type)
private QName getQName(java.lang.String name)
private void onSchemaError(java.lang.String message)
message
- DOCUMENT ME!InvalidSchemaException
- DOCUMENT ME!