Class SchemaParser

java.lang.Object
org.dom4j.datatype.SchemaParser

public class SchemaParser extends Object

SchemaParser reads an XML Schema Document.

Version:
$Revision: 1.19 $
  • Field Details

    • 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 Map<String,com.sun.msv.datatype.xsd.XSDatatype> dataTypeCache
      Cache of XSDatatype instances loaded or created during this build
    • namedTypeResolver

      private NamedTypeResolver namedTypeResolver
      NamedTypeResolver
    • targetNamespace

      private Namespace targetNamespace
      target namespace
  • Constructor Details

  • Method Details

    • build

      public void build(Document schemaDocument)
      Parses the given schema document
      Parameters:
      schemaDocument - is the document of the XML Schema
    • build

      public void build(Document schemaDocument, Namespace namespace)
    • 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(String type)
    • getQName

      private QName getQName(String name)
    • onSchemaError

      private void onSchemaError(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!