Module eclipselink

Class SDOXMLDocument

  • All Implemented Interfaces:
    XMLDocument

    public class SDOXMLDocument
    extends XMLRoot
    implements XMLDocument

    Purpose: Represents an XML Document containing a tree of DataObjects.

    An example XMLDocument fragment is:
     <?xml version="1.0"?>
     <purchaseOrder orderDate="1999-10-20">

    created from this XML Schema fragment:
     <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
     <xsd:complexType name="PurchaseOrderType">

    Upon loading this XMLDocument:
     DataObject is an instance of Type PurchaseOrderType.
     RootElementURI is null because the XSD has no targetNamespace URI.
     RootElementName is purchaseOrder.
     Encoding is null because the document did not specify an encoding.
     XMLDeclaration is true because the document contained an XML declaration.
     XMLVersion is 1.0
     SchemaLocation and noNamespaceSchemaLocation are null because they are not specified in the document.

    When saving the root element, if the type of the root dataObject is not the type of global element specified by rootElementURI and rootElementName, or if a global element does not exist for rootElementURI and rootElementName, then an xsi:type declaration is written to record the root DataObject's Type.

    When loading the root element and an xsi:type declaration is found it is used as the type of the root DataObject. In this case, if validation is not being performed, it is not an error if the rootElementName is not a global element.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String DEFAULT_XML_ENCODING  
      static String DEFAULT_XML_VERSION  
      • Fields inherited from class org.eclipse.persistence.internal.oxm.Root

        declaredType, encoding, localName, namespaceUri, nil, noNamespaceSchemaLocation, prefix, rootObject, schemaLocation, schemaType, xmlVersion
    • Constructor Summary

      Constructors 
      Constructor Description
      SDOXMLDocument()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String getEncoding()
      Return the XML encoding of the document, or null if not specified.
      NamespaceResolver getNamespaceResolver()
      INTERNAL: Return the namespaceResolver to be used with this document.
      String getNoNamespaceSchemaLocation()
      Return the value of the noNamespaceSchemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if not present.
      String getRootElementName()
      Return the name of the root element.
      String getRootElementURI()
      Return the targetNamespace URI for the root element.
      DataObject getRootObject()
      Return the root DataObject for the XMLDocument.
      String getSchemaLocation()
      Return the value of the schemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if not present.
      String getXMLVersion()
      Return the XML version of the document, or null if not specified.
      boolean isXMLDeclaration()
      Return the XML declaration of the document.
      void setEncoding​(String encoding)
      Set the XML encoding of the document, or null if not specified.
      void setNamespaceResolver​(NamespaceResolver namespaceResolver)
      INTERNAL: Set the namespaceresolver of the document
      void setNoNamespaceSchemaLocation​(String schemaLocation)
      Sets the value of the noNamespaceSchemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if it should not be present.
      void setRootElementName​(String rootElementName)
      INTERNAL: Set the root element name of the document
      void setRootElementURI​(String rootElementUri)
      INTERNAL: Set the root element uri of the document
      void setRootObject​(DataObject rootObject)
      INTERNAL: Set the root data object corresponding to the document
      void setSchemaLocation​(String schemaLocation)
      Sets the value of the schemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if it should not be present.
      void setXMLDeclaration​(boolean xmlDeclaration)
      Set the XML declaration version of the document.
      void setXMLVersion​(String xmlVersion)
      Set the XML version of the document, or null if not specified.
      • Methods inherited from class org.eclipse.persistence.internal.oxm.Root

        equals, getDeclaredType, getLocalName, getNamespaceURI, getObject, getSchemaType, hashCode, isNil, setDeclaredType, setLocalName, setNamespaceURI, setNil, setObject, setSchemaType, setVersion
    • Constructor Detail

      • SDOXMLDocument

        public SDOXMLDocument()
    • Method Detail

      • getRootObject

        public DataObject getRootObject()
        Return the root DataObject for the XMLDocument.
        Specified by:
        getRootObject in interface XMLDocument
        Returns:
        root DataObject for the XMLDocument.
      • getRootElementURI

        public String getRootElementURI()
        Return the targetNamespace URI for the root element. If there is no targetNamespace URI, the value is null. The root element is a global element of the XML Schema with a type compatible to the DataObject.
        Specified by:
        getRootElementURI in interface XMLDocument
        Returns:
        the targetNamespace URI for the root element.
      • getRootElementName

        public String getRootElementName()
        Return the name of the root element. The root element is a global element of the XML Schema with a type compatible to the DataObject.
        Specified by:
        getRootElementName in interface XMLDocument
        Returns:
        the name of the root element.
      • getEncoding

        public String getEncoding()
        Return the XML encoding of the document, or null if not specified. The default value is "UTF-8". Specification of other values is implementation-dependent.
        Specified by:
        getEncoding in interface XMLDocument
        Overrides:
        getEncoding in class org.eclipse.persistence.internal.oxm.Root
        Returns:
        the XML encoding of the document, or null if not specified.
      • setEncoding

        public void setEncoding​(String encoding)
        Set the XML encoding of the document, or null if not specified.
        Specified by:
        setEncoding in interface XMLDocument
        Overrides:
        setEncoding in class org.eclipse.persistence.internal.oxm.Root
        Parameters:
        encoding -
      • isXMLDeclaration

        public boolean isXMLDeclaration()
        Return the XML declaration of the document. If true, XMLHelper save() will produce a declaration of the form: <?xml version="1.0" encoding="UTF-8"?> Encoding will be suppressed if getEncoding() is null. The default value is true.
        Specified by:
        isXMLDeclaration in interface XMLDocument
        Returns:
        the XML declaration of the document.
      • setXMLDeclaration

        public void setXMLDeclaration​(boolean xmlDeclaration)
        Set the XML declaration version of the document.
        Specified by:
        setXMLDeclaration in interface XMLDocument
        Parameters:
        xmlDeclaration - the XML declaration version of the document.
      • getXMLVersion

        public String getXMLVersion()
        Return the XML version of the document, or null if not specified. The default value is "1.0". Specification of other values is implementation-dependent.
        Specified by:
        getXMLVersion in interface XMLDocument
        Overrides:
        getXMLVersion in class org.eclipse.persistence.internal.oxm.Root
        Returns:
        the XML version of the document, or null if not specified.
      • setXMLVersion

        public void setXMLVersion​(String xmlVersion)
        Set the XML version of the document, or null if not specified.
        Specified by:
        setXMLVersion in interface XMLDocument
        Parameters:
        xmlVersion - the XML version of the document, or null if not specified.
      • getSchemaLocation

        public String getSchemaLocation()
        Return the value of the schemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if not present.
        Specified by:
        getSchemaLocation in interface XMLDocument
        Overrides:
        getSchemaLocation in class org.eclipse.persistence.internal.oxm.Root
        Returns:
        the value of the schemaLocation declaration, or null if not present.
      • setSchemaLocation

        public void setSchemaLocation​(String schemaLocation)
        Sets the value of the schemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if it should not be present.
        Specified by:
        setSchemaLocation in interface XMLDocument
        Overrides:
        setSchemaLocation in class org.eclipse.persistence.internal.oxm.Root
        Parameters:
        schemaLocation - the value of the schemaLocation declaration, or null.
      • getNoNamespaceSchemaLocation

        public String getNoNamespaceSchemaLocation()
        Return the value of the noNamespaceSchemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if not present.
        Specified by:
        getNoNamespaceSchemaLocation in interface XMLDocument
        Overrides:
        getNoNamespaceSchemaLocation in class org.eclipse.persistence.internal.oxm.Root
        Returns:
        the value of the noNamespaceSchemaLocation declaration, or null if not present.
      • setNoNamespaceSchemaLocation

        public void setNoNamespaceSchemaLocation​(String schemaLocation)
        Sets the value of the noNamespaceSchemaLocation declaration for the http://www.w3.org/2001/XMLSchema-instance namespace in the root element, or null if it should not be present.
        Specified by:
        setNoNamespaceSchemaLocation in interface XMLDocument
        Overrides:
        setNoNamespaceSchemaLocation in class org.eclipse.persistence.internal.oxm.Root
        Parameters:
        schemaLocation - the value of the noNamespaceSchemaLocation declaration, or null.
      • setRootObject

        public void setRootObject​(DataObject rootObject)
        INTERNAL: Set the root data object corresponding to the document
        Parameters:
        rootObject - the root DataObject corresponding to the document
      • setRootElementName

        public void setRootElementName​(String rootElementName)
        INTERNAL: Set the root element name of the document
        Parameters:
        rootElementName - the root element name of the document
      • setRootElementURI

        public void setRootElementURI​(String rootElementUri)
        INTERNAL: Set the root element uri of the document
        Parameters:
        rootElementUri - the root element uri of the document
      • setNamespaceResolver

        public void setNamespaceResolver​(NamespaceResolver namespaceResolver)
        INTERNAL: Set the namespaceresolver of the document
        Parameters:
        namespaceResolver - the namespaceResolver to be used with the document
      • getNamespaceResolver

        public NamespaceResolver getNamespaceResolver()
        INTERNAL: Return the namespaceResolver to be used with this document.
        Returns:
        the value of the namespaceResolver being used with this document