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!