Package org.dom4j.datatype
Class SchemaParser
- java.lang.Object
-
- org.dom4j.datatype.SchemaParser
-
public class SchemaParser extends java.lang.Object
SchemaParser
reads 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>
dataTypeCache
Cache ofXSDatatype
instances loaded or created during this buildprivate DatatypeDocumentFactory
documentFactory
Document factory used to register Element specific factoriesprivate NamedTypeResolver
namedTypeResolver
NamedTypeResolverprivate Namespace
targetNamespace
target namespaceprivate 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 Summary
Constructors Constructor Description SchemaParser()
SchemaParser(DatatypeDocumentFactory documentFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
build(Document schemaDocument)
Parses the given schema documentvoid
build(Document schemaDocument, Namespace namespace)
private com.sun.msv.datatype.xsd.XSDatatype
dataTypeForXsdAttribute(Element xsdAttribute)
processes an XML Schema <attribute> tagprivate 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 restrictionsprivate 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 elementprivate void
onChildElements(Element element, DatatypeElementFactory fact)
private void
onDatatypeAttribute(Element xsdElement, DatatypeElementFactory elementFactory, Element xsdAttribute)
processes an XML Schema <attribute> tagprivate void
onDatatypeElement(Element xsdElement, DocumentFactory parentFactory)
processes an XML Schema <element> tagprivate void
onNamedSchemaComplexType(Element schemaComplexType)
processes an named XML Schema <complexTypegt; tagprivate void
onNamedSchemaSimpleType(Element schemaSimpleType)
processes an named XML Schema <simpleTypegt; tagprivate void
onSchemaComplexType(Element schemaComplexType, DatatypeElementFactory elementFactory)
processes an XML Schema <complexTypegt; tagprivate 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
-
-
-
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 ofXSDatatype
instances 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
DatatypeElementFactory
for 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!
-
-