All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonj.sdo.helper.XMLDocument Maven / Gradle / Ivy

There is a newer version: 2.2.1
Show newest version
/**
 * 
 *
 * Service Data Objects
 * Version 2.1.0
 * Licensed Materials
 *
 * (c) Copyright BEA Systems, Inc., International Business Machines Corporation, 
 * Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., 
 * Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, 
 * 2005, 2006. All rights reserved.
 *
 * 
 * 
 */

package commonj.sdo.helper;

import commonj.sdo.DataObject;

/**
 * Represents an XML Document containing a tree of DataObjects.
 * 
 * An example XMLDocument fragment is:  
 * 
 * created from this XML Schema fragment:   
 *
 * 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.
 */
public interface XMLDocument {
  /**
   * Return the root DataObject for the XMLDocument.
   * 
   * @return root DataObject for the XMLDocument.
   */
  DataObject getRootObject();

  /**
   * 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.
   * 
   * @return the targetNamespace URI for the root element.
   */
  String getRootElementURI();

  /**
   * 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.
   * 
   * @return the name of the root element.
   */
  String getRootElementName();

  /**
   * 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.
   * 
   * @return the XML encoding of the document, or null if not specified.
   */
  String getEncoding();

  /**
   * Set the XML encoding of the document, or null if not specified.
   * 
   * @param encoding
   */
  void setEncoding(String encoding);

  /**
   * Return the XML declaration of the document. If true, XMLHelper save() will
   * produce a declaration of the form: 
   * Encoding will be suppressed if getEncoding() is null. The default value is
   * true.
   * 
   * @return the XML declaration of the document.
   */
  boolean isXMLDeclaration();

  /**
   * Set the XML declaration version of the document.
   * 
   * @param xmlDeclaration
   *          the XML declaration version of the document.
   */
  void setXMLDeclaration(boolean xmlDeclaration);

  /**
   * 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.
   * 
   * @return the XML version of the document, or null if not specified.
   */
  String getXMLVersion();

  /**
   * Set the XML version of the document, or null if not specified.
   * 
   * @param xmlVersion
   *          the XML version of the document, or null if not specified.
   */
  void setXMLVersion(String xmlVersion);

  /**
   * 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.
   * 
   * @return the value of the schemaLocation declaration, or null if not
   *         present.
   */
  String getSchemaLocation();

  /**
   * 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.
   * 
   * @param schemaLocation
   *          the value of the schemaLocation declaration, or null.
   */
  void setSchemaLocation(String schemaLocation);

  /**
   * 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.
   * 
   * @return the value of the noNamespaceSchemaLocation declaration, or null if
   *         not present.
   */
  String getNoNamespaceSchemaLocation();

  /**
   * 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.
   * 
   * @param schemaLocation
   *          the value of the noNamespaceSchemaLocation declaration, or null.
   */
  void setNoNamespaceSchemaLocation(String schemaLocation);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy