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 Details

  • Constructor Details

    • SDOXMLDocument

      public SDOXMLDocument()
  • Method Details

    • 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 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 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 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 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 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 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 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