定義済みクラス
XML DAS は、主に 2 つのクラスから成り立っています。 ひとつめは SDO_DAS_XML で、XML ソースからデータを取得したり データを書き戻したりする際に使用するクラスです。 もうひとつが SDO_DAS_XML_Document クラスで、 これが XML ドキュメント内のデータを表します。
これ以外に、xsd や xml ファイルの検索・パース中にエラーが発生した場合にスローされる 例外クラスがいくつかあります。
SDO_DAS_XML
これが XML DAS の中心となるクラスです。 xml ソースからデータを取得したり、データを書き戻す際に使用します。 xml ファイルの読み込みや書き込み以外のメソッドもあります。
メソッド
- create は SDO_DAS_XML クラスの静的メソッドです。 SDO_DAS_XML オブジェクトを作成するために使用します。
- addTypes は create() と同じような動作をしますが、 これはすでに作成済みの XML DAS に対して後からスキーマファイルを追加します。
- createDataObject は、指定した型の SDO データオブジェクトを作成するために使用します。
- createDocument は、XML ドキュメントオブジェクトをスクラッチから作成するために使用します。
- loadFile は、xml インスタンスドキュメントをファイルから読み込みます。 ローカルファイルシステム上、あるいはリモートホスト上のどちらのファイルも読み込み可能です。
- loadString は上のメソッドと同じですが、これは xml インスタンスドキュメントを文字列から読み込みます。
- saveFile は SDO_DAS_XML_Document オブジェクトを xml ファイルに保存します。
- saveString は SDO_DAS_XML_Document オブジェクトを xml 文字列に保存します。
SDO_DAS_XML_Document
このクラスの使用目的は、ドキュメント要素の名前および名前空間を取得すること、 そしてドキュメントのルートデータオブジェクトを取得することです。 最後に、ドキュメントの出力時に XML のバージョンおよびエンコーディングを指定することもできます。
メソッド
- getRootDataObject は、ルート DataObject を取得します。
- getRootElementName は、ルート DataObject の名前を取得します。
- getRootElementURI は、ルート DataObject の URI を取得します。
- setEncoding は、指定した値をエンコーディング文字列に設定します。
- setXMLDeclaraion は、xml 宣言を設定/解除します。
- setXMLVersion は、指定した値を xml バージョンに設定します。
SDO_DAS_XML_ParserException
SDO_Exception のサブクラスです。 xsd/xml ファイルの読み込み中にパースエラーが発生した場合にスローされます。
SDO_DAS_XML_FileException
SDO_Exception のサブクラスです。 ファイルからデータを読み込むメソッドで、 ファイルが見つからなかった場合にスローされます。
SDO 2.0 仕様と比較した場合の制限事項
» SDO 2.0 仕様 で、XML と SDO の間での型の対応が定義されています。 Java SDO では、この対応は XMLHelper で実装されています。 PHP 用の SDO では、この対応が XML データアクセスサービスで実装されています。 XML DAS の実装には、SDO 2.0 仕様で定義されている対応に対していくつか制限があります。 制限事項の詳細は以下のとおりです。
XML の単純な型
- Simple Type with sdoJava:instanceClass - PHP では同等の機能は提供されていません。
- Simple Type with sdoJava:extendedInstanceClass - PHP では同等の機能は提供されていません。
- Simple Type with list of itemType.
- Simple Type with union.
XML の複合型
- Complex Type with sdo:aliasName - PHP では SDO 型のエイリアスをサポートしていません。
XSD の属性
- Attribute with sdo:aliasName - PHP では SDO プロパティのエイリアスをサポートしていません。
- Attribute with default value - PHP では SDO プロパティのデフォルト値をサポートしていません。
- Attribute with fixed value - PHP では SDO の読み込み専用プロパティやデフォルト値をサポートしていません。
- Attribute referencing a DataObject with sdo:propertyType - sdo:propertyType="..." はサポートしていません。
- Attribute with bi-directional property to a DataObject with sdo:oppositeProperty and sdo:propertyType - PHP では SDO opposite をサポートしていません。
XSD の要素
- Element with sdo:aliasName - PHP では SDO プロパティのエイリアスをサポートしていません。
- Element with substitution group.
XSD Elements with Simple Type
- Element of SimpleType with default - PHP では SDO のデフォルト値をサポートしていません。
- Element of SimpleType with fixed value - PHP では SDO の読み込み専用プロパティやデフォルト値をサポートしていません。
- Element of SimpleType with sdo:string - sdo:string="true" はサポートしていません。
- Element referencing a DataObject with sdo:propertyType - sdo:propertyType="..." はサポートしていません。
- Element with bi-directional reference to a DataObject with sdo:oppositeProperty and sdo:propertyType - PHP では SDO opposite をサポートしていません。
目次
- SDO_DAS_XML::addTypes — 2 番目以降のスキーマファイルを SDO_DAS_XML オブジェクトに読み込む
- SDO_DAS_XML::create — スキーマファイルを指定して SDO_DAS_XML オブジェクトを作成する
- SDO_DAS_XML::createDataObject — 名前空間 URI および型名を指定して SDO_DataObject を作成する
- SDO_DAS_XML::createDocument — Creates an XML Document object from scratch, without the need to load a document from a file or string
- SDO_DAS_XML::loadFile — xml インスタンスドキュメントへのパスを指定し、 SDO_DAS_XML_Document オブジェクトを返す
- SDO_DAS_XML::loadString — xml インスタンス文字列を指定し、 SDO_DAS_XML_Document オブジェクトを返す
- SDO_DAS_XML::saveFile — SDO_DAS_XML_Document オブジェクトをファイルに保存する
- SDO_DAS_XML::saveString — SDO_DAS_XML_Document オブジェクトを文字列に保存する
- SDO_DAS_XML_Document::getRootDataObject — ルート SDO_DataObject を返す
- SDO_DAS_XML_Document::getRootElementName — ルート要素の名前を返す
- SDO_DAS_XML_Document::getRootElementURI — ルート要素の URI 文字列を返す
- SDO_DAS_XML_Document::setEncoding — エンコーディングを文字列で設定する
- SDO_DAS_XML_Document::setXMLDeclaration — xml 宣言を設定する
- SDO_DAS_XML_Document::setXMLVersion — xml バージョンを文字列で設定する