XML形式のデータを扱うためのパッケージです。
XMLパッケージはW3C(World Wide Web
Consortium)で策定されているDOM(Document Object Model)Level2の一部の機能を除いたサブセットです。
SVG(Scalable Vector Graphics)の操作は、このXMLパッケージによりSVGを構成するXMLノードを操作することで実現します。
名前 |
説明 |
Version |
||
PC |
Mobile |
AI |
||
Attrノードを定義します |
3.0.0 |
- |
- |
|
CDATASectionノードを定義します |
3.0.0 |
- |
- |
|
文字列を格納するノードの基底クラスです |
3.0.0 |
- |
- |
|
Commentノードを定義します |
3.0.0 |
- |
- |
|
DOMツリーのルートノード(Documentノード)を定義します |
3.0.0 |
3.0.0 |
1.0.0 |
|
ドキュメントの断片を維持するクラスです |
3.0.0 |
- |
- |
|
DOMの例外を定義します |
3.0.0 |
- |
- |
|
DOMの実装を定義します |
3.0.0 |
3.0.0 |
1.0.0 |
|
Elementノードを定義します |
3.0.0 |
3.0.0 |
1.0.0 |
|
ノードの集合を名前付きマップで管理します |
3.0.0 |
- |
- |
|
すべてのノードの基底クラスです Mobile版ではその他のノードを定義します |
3.0.0 |
3.0.0 |
1.0.0 |
|
ノードの集合をノードリストで管理します |
3.0.0 |
3.0.0 |
1.0.0 |
|
処理命令ノード(ProcessingInstructionノード)を定義します |
3.0.0 |
- |
- |
|
Textノードを定義します |
3.0.0 |
3.0.0 |
1.0.0 |
XMLパッケージは、W3CのDOM Level2 Core Specificationに従い、各クラスは次の継承関係で構成されます。(Mobile版には派生関係はありません)
Biz/Browserが内蔵するXMLパッケージは、XMLを画面に表示、または印刷するためのビジネスデータ表現として利用することを想定し設計されています。そのため、DOM Level2で定められる仕様のうち、この目的には通常必要としない機能や著しく実行性能を損なう仕様が削除されています。また、XMLテキストのロード、セーブ機能や、SelectNodesメソッドなど、W3C DOMには定義されていない便利な機能を付加しています。
W3Cにより公開されているDocument Object Model (DOM) Level 3 Core Specification Version 1.0 W3C Working Draft 26 February 2003の一部の機能をサポートしています。
W3C DOM Level2に含まれる以下のオブジェクトは、Biz/Browserではサポート外となり利用することはできません。
DocumentType
Notation
Entity
EntityReference
DTDの解釈を行いません。したがって、XMLテキストのパース時およびDOM APIによるXML DOMツリーの生成、変更時に構造の妥当性を検証することはありません。
また、DTDにより定義されるデフォルト値やアクセス制御は無効となります。
外部参照は、SVGの<image>エレメント以外は解決されません。
DOMツリーに含まれる文字はCRSスクリプトとの親和性を考慮し、SHIFT-JIS文字コードに変換され構築されます。XmlDocument.Saveメソッドで保存できるencodingはSHIFT-JISのみです。
ただし、XmlCharacterData.LengthプロパティやXmlCharacterData.SubstringDataメソッドなどで利用する文字の長さを表す数は、バイト数ではなく文字数となります。バイト数が必要な場合、グローバル関数のLengthを利用してください。
より追加 ここから--->
DOMツリーを構築する際に利用するXmlDOMImplementationオブジェクトをUnicodeモードで生成した場合、DOMツリーに含まれる文字列はUnicodeで保持され、XmlDocument.Saveメソッドで保存されるXMLのエンコーディング方式がUTF-8固定になります。
XmlDOMImplementationオブジェクトをUnicodeモードで生成するには、コンストラクタにXmlDOMImplementation.Unicodeを指定します。
var impl = new XmlDOMImplementation(XmlDOMImplementation.Unicode);
UnicodeモードのDOMツリーにアクセスする場合でも、特別な配慮は必要ありません。Shift-JISによる値の設定は自動的にUnicodeに変換され、Unicodeのプロパティ値やメソッドの戻り値をShift-JISで受け取るときには自動的にShift-JISへ変換されます。その際、変換ができない文字を検出すると、「?」に置き換えられます。
<---ここまで
よりネームスペース定義が、アトリビュートとして表現されるよう変更されました
Biz/Browser Mobile ver3.0より追加されたXMLパッケージはPC版のサブセットとなっておりXMLの解析およびノードの参照に限定された機能となっています。
オブジェクトとしてはXmlDOMImplementation、XmlDocument、XmlNode、XmlElement、XmlText、XmlNodeListのみのサポートとなりさらにXMLを変更するようなプロパティおよびメソッドは実装されていません。
また名前空間とそれに関わるメソッドも一部を除きサポートされていません。名前空間を含む要素などを検索する場合名前空間を表すプレフィックスと要素名を組み合わせ一つの要素名として扱ってください(<prefix:tagname>の場合、要素名prefix:tagnameとする)。
Biz/Browser AI 1.0より実装されているXMLパッケージは基本的にMobile版と同等のクラスと機能をカバーしていますが、OSの制約上Android版では下記の制約および差異があります。
・日本語のタグ名を扱うことができません。
・XmlNode.SelectSingleNodeメソッド, XmlNode.SelectNodesメソッドで指定するXPath式でのインデックスの開始番号は1からとなります。
また、Mobile版とは異なり各クラスはPC版と同様のクラス階層となっています。