Predefined Classes
The XML DAS provides two main classes.
The first is SDO_DAS_XML which is the main class used to fetch the
data from the XML source and used to write the data back.
The second is the SDO_DAS_XML_Document class,
which represents the data in the XML document.
There are also some exception classes which can be thrown
if errors are found when looking for or parsing the xsd or
xml files.
SDO_DAS_XML
This is the main class of the XML DAS,
which is used fetch the data from the xml source
and also used to write the data back.
Other than the methods to load and save xml files,
Methods
-
create
This is a static method available in the SDO_DAS_XML class.
Used to construct an SDO_DAS_XML object.
-
addTypes
Works in much the same way as create() but used
to add the contents of a second or subsequent schema file to
an XML DAS that has already been created.
-
createDataObject
Can be used to construct an SDO data object of a given type.
-
createDocument
Can be used to construct an XML Document object from scratch.
-
loadFile
Loads the xml instance document from a file.
This file can be at local file system or it can be on a remote host.
-
loadString
same as the above method.
Loads the xml instance which is available as string.
-
saveFile
save SDO_DAS_XML_Document object as a xml file.
-
saveString
save SDO_DAS_XML_Document object as a xml string.
SDO_DAS_XML_Document
This class can be used to get to the name and namespace of the document element,
and to get to the root data object of the document.
Lastly, it can also be used to set the XML version and encoding
of a document on output.
SDO_DAS_XML_ParserException
Is a subclass of
SDO_Exception.
Thrown for any parser errors while loading the xsd/xml file.
SDO_DAS_XML_FileException
Is a subclass of
SDO_Exception.
Thrown by any of the methods that load data from a file, when the file
cannot be found.
Limitations compared with SDO 2.0 specification
The
» SDO 2.0 specification
defines the mapping between XML types and SDO types.
With Java SDO, this mapping is implemented by the XMLHelper.
With SDO for PHP, this mapping is implemented by the
XML Data Access Service.
The XML DAS implements the mapping described in the
SDO 2.0 specification with some restrictions.
A detailed list is of the limitations is:
XML Simple Types
-
Simple Type with sdoJava:instanceClass
- no PHP equivalent provided.
-
Simple Type with sdoJava:extendedInstanceClass
- no PHP equivalent provided.
-
Simple Type with list of itemType.
-
Simple Type with union.
XML Complex Types
-
Complex Type with sdo:aliasName
- no PHP support for SDO Type aliases.
XSD Attribute
-
Attribute with sdo:aliasName
- no PHP support for SDO property aliases.
-
Attribute with default value
- no PHP support for SDO property defaults.
-
Attribute with fixed value
- no PHP support for SDO read-only properties or default values.
-
Attribute referencing a DataObject with
sdo:propertyType - no support for sdo:propertyType="...".
-
Attribute with bi-directional property to a DataObject with
sdo:oppositeProperty and sdo:propertyType
- no PHP support for SDO opposite.
XSD Elements
-
Element with sdo:aliasName
- no PHP support for SDO property aliases.
-
Element with substitution group.
XSD Elements with Simple Type
-
Element of SimpleType with default
- no PHP support for SDO defaults
-
Element of SimpleType with fixed value
- no PHP support for SDO read-only properties or default values.
-
Element of SimpleType with sdo:string
- no support for sdo:string="true".
-
Element referencing a DataObject with
sdo:propertyType - no support for sdo:propertyType="..."
-
Element with bi-directional reference to a DataObject with
sdo:oppositeProperty and sdo:propertyType
- no PHP support for SDO opposite.