Package org.dom4j.datatype
Class SchemaParser
- java.lang.Object
-
- org.dom4j.datatype.SchemaParser
-
public class SchemaParser extends java.lang.ObjectSchemaParserreads an XML Schema Document.- Version:
- $Revision: 1.19 $
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,com.sun.msv.datatype.xsd.XSDatatype>dataTypeCacheCache ofXSDatatypeinstances loaded or created during this buildprivate DatatypeDocumentFactorydocumentFactoryDocument factory used to register Element specific factoriesprivate NamedTypeResolvernamedTypeResolverNamedTypeResolverprivate NamespacetargetNamespacetarget namespaceprivate static QNameXSD_ALLprivate static QNameXSD_ATTRIBUTEprivate static QNameXSD_CHOICEprivate static QNameXSD_COMPLEXTYPEprivate static QNameXSD_ELEMENTprivate static QNameXSD_INCLUDEprivate static NamespaceXSD_NAMESPACEprivate static QNameXSD_RESTRICTIONprivate static QNameXSD_SEQUENCEprivate static QNameXSD_SIMPLETYPE
-
Constructor Summary
Constructors Constructor Description SchemaParser()SchemaParser(DatatypeDocumentFactory documentFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuild(Document schemaDocument)Parses the given schema documentvoidbuild(Document schemaDocument, Namespace namespace)private com.sun.msv.datatype.xsd.XSDatatypedataTypeForXsdAttribute(Element xsdAttribute)processes an XML Schema <attribute> tagprivate com.sun.msv.datatype.xsd.XSDatatypederiveSimpleType(com.sun.msv.datatype.xsd.XSDatatype baseType, Element xsdRestriction)Derives a new type from a base type and a set of restrictionsprivate DatatypeElementFactorygetDatatypeElementFactory(QName name)DOCUMENT ME!private QNamegetQName(java.lang.String name)private com.sun.msv.datatype.xsd.XSDatatypegetTypeByName(java.lang.String type)private voidinternalBuild(Document schemaDocument)private com.sun.msv.datatype.xsd.XSDatatypeloadXSDatatypeFromSimpleType(Element xsdSimpleType)Loads a XSDatatype object from a <simpleType> attribute schema elementprivate voidonChildElements(Element element, DatatypeElementFactory fact)private voidonDatatypeAttribute(Element xsdElement, DatatypeElementFactory elementFactory, Element xsdAttribute)processes an XML Schema <attribute> tagprivate voidonDatatypeElement(Element xsdElement, DocumentFactory parentFactory)processes an XML Schema <element> tagprivate voidonNamedSchemaComplexType(Element schemaComplexType)processes an named XML Schema <complexTypegt; tagprivate voidonNamedSchemaSimpleType(Element schemaSimpleType)processes an named XML Schema <simpleTypegt; tagprivate voidonSchemaComplexType(Element schemaComplexType, DatatypeElementFactory elementFactory)processes an XML Schema <complexTypegt; tagprivate voidonSchemaError(java.lang.String message)Called when there is a problem with the schema and the builder cannot handle the XML Schema Data Types correctly
-
-
-
Field Detail
-
XSD_NAMESPACE
private static final Namespace XSD_NAMESPACE
-
XSD_ELEMENT
private static final QName XSD_ELEMENT
-
XSD_ATTRIBUTE
private static final QName XSD_ATTRIBUTE
-
XSD_SIMPLETYPE
private static final QName XSD_SIMPLETYPE
-
XSD_COMPLEXTYPE
private static final QName XSD_COMPLEXTYPE
-
XSD_RESTRICTION
private static final QName XSD_RESTRICTION
-
XSD_SEQUENCE
private static final QName XSD_SEQUENCE
-
XSD_CHOICE
private static final QName XSD_CHOICE
-
XSD_ALL
private static final QName XSD_ALL
-
XSD_INCLUDE
private static final QName XSD_INCLUDE
-
documentFactory
private DatatypeDocumentFactory documentFactory
Document factory used to register Element specific factories
-
dataTypeCache
private java.util.Map<java.lang.String,com.sun.msv.datatype.xsd.XSDatatype> dataTypeCache
Cache ofXSDatatypeinstances loaded or created during this build
-
namedTypeResolver
private NamedTypeResolver namedTypeResolver
NamedTypeResolver
-
targetNamespace
private Namespace targetNamespace
target namespace
-
-
Constructor Detail
-
SchemaParser
public SchemaParser()
-
SchemaParser
public SchemaParser(DatatypeDocumentFactory documentFactory)
-
-
Method Detail
-
build
public void build(Document schemaDocument)
Parses the given schema document- Parameters:
schemaDocument- is the document of the XML Schema
-
internalBuild
private void internalBuild(Document schemaDocument)
-
onDatatypeElement
private void onDatatypeElement(Element xsdElement, DocumentFactory parentFactory)
processes an XML Schema <element> tag- Parameters:
xsdElement- DOCUMENT ME!parentFactory- DOCUMENT ME!
-
onNamedSchemaComplexType
private void onNamedSchemaComplexType(Element schemaComplexType)
processes an named XML Schema <complexTypegt; tag- Parameters:
schemaComplexType- DOCUMENT ME!
-
onSchemaComplexType
private void onSchemaComplexType(Element schemaComplexType, DatatypeElementFactory elementFactory)
processes an XML Schema <complexTypegt; tag- Parameters:
schemaComplexType- DOCUMENT ME!elementFactory- DOCUMENT ME!
-
onChildElements
private void onChildElements(Element element, DatatypeElementFactory fact)
-
onDatatypeAttribute
private void onDatatypeAttribute(Element xsdElement, DatatypeElementFactory elementFactory, Element xsdAttribute)
processes an XML Schema <attribute> tag- Parameters:
xsdElement- DOCUMENT ME!elementFactory- DOCUMENT ME!xsdAttribute- DOCUMENT ME!
-
dataTypeForXsdAttribute
private com.sun.msv.datatype.xsd.XSDatatype dataTypeForXsdAttribute(Element xsdAttribute)
processes an XML Schema <attribute> tag- Parameters:
xsdAttribute- DOCUMENT ME!- Returns:
- DOCUMENT ME!
- Throws:
InvalidSchemaException- DOCUMENT ME!
-
onNamedSchemaSimpleType
private void onNamedSchemaSimpleType(Element schemaSimpleType)
processes an named XML Schema <simpleTypegt; tag- Parameters:
schemaSimpleType- DOCUMENT ME!
-
loadXSDatatypeFromSimpleType
private com.sun.msv.datatype.xsd.XSDatatype loadXSDatatypeFromSimpleType(Element xsdSimpleType)
Loads a XSDatatype object from a <simpleType> attribute schema element- Parameters:
xsdSimpleType- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
deriveSimpleType
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- Parameters:
baseType- DOCUMENT ME!xsdRestriction- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
getDatatypeElementFactory
private DatatypeElementFactory getDatatypeElementFactory(QName name)
DOCUMENT ME!- Parameters:
name- The name of the element- Returns:
- the
DatatypeElementFactoryfor the given element QName, creating one if it does not already exist
-
getTypeByName
private com.sun.msv.datatype.xsd.XSDatatype getTypeByName(java.lang.String type)
-
getQName
private QName getQName(java.lang.String name)
-
onSchemaError
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- Parameters:
message- DOCUMENT ME!- Throws:
InvalidSchemaException- DOCUMENT ME!
-
-