Class SchemaParser


  • public class SchemaParser
    extends java.lang.Object

    SchemaParser reads an XML Schema Document.

    Version:
    $Revision: 1.19 $
    • 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 of XSDatatype instances loaded or created during this build
      • targetNamespace

        private Namespace targetNamespace
        target namespace
    • Constructor Detail

      • SchemaParser

        public SchemaParser()
    • 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!
      • 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!