XMLパッケージ

 

XML形式のデータを扱うためのパッケージです。

 

XMLパッケージはW3CWorld Wide Web Consortium)で策定されているDOMDocument Object ModelLevel2の一部の機能を除いたサブセットです。

SVGScalable Vector Graphics)の操作は、このXMLパッケージによりSVGを構成するXMLノードを操作することで実現します。

 

クラス

 

名前

説明

Version

PC

Mobile

AI

XmlAttr

Attrノードを定義します

3.0.0

-

-

XmlCDATASection

CDATASectionノードを定義します

3.0.0

-

-

XmlCharacterData

文字列を格納するノードの基底クラスです

3.0.0

-

-

XmlComment

Commentノードを定義します

3.0.0

-

-

XmlDocument

DOMツリーのルートノード(Documentノード)を定義します

3.0.0

3.0.0

1.0.0

XmlDocumentFragment

ドキュメントの断片を維持するクラスです

3.0.0

-

-

XmlDOMException

DOMの例外を定義します

3.0.0

-

-

XmlDOMImplementation

DOMの実装を定義します

3.0.0

3.0.0

1.0.0

XmlElement

Elementノードを定義します

3.0.0

3.0.0

1.0.0

XmlNamedNodeMap

ノードの集合を名前付きマップで管理します

3.0.0

-

-

XmlNode

すべてのノードの基底クラスです

Mobile版ではその他のノードを定義します

3.0.0

3.0.0

1.0.0

XmlNodeList

ノードの集合をノードリストで管理します

3.0.0

3.0.0

1.0.0

XmlProcessingInstruction

処理命令ノード(ProcessingInstructionノード)を定義します

3.0.0

-

-

XmlText

Textノードを定義します

3.0.0

3.0.0

1.0.0

 

XMLパッケージは、W3CDOM Level2 Core Specificationに従い、各クラスは次の継承関係で構成されます。(Mobile版には派生関係はありません)

 

 

W3C DOM Level2との互換性について

 

Biz/Browserが内蔵するXMLパッケージは、XMLを画面に表示、または印刷するためのビジネスデータ表現として利用することを想定し設計されています。そのため、DOM Level2で定められる仕様のうち、この目的には通常必要としない機能や著しく実行性能を損なう仕様が削除されています。また、XMLテキストのロード、セーブ機能や、SelectNodesメソッドなど、W3C DOMには定義されていない便利な機能を付加しています。

 

W3C DOM Level3対応について

 

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

DTDの解釈を行いません。したがって、XMLテキストのパース時およびDOM APIによるXML DOMツリーの生成、変更時に構造の妥当性を検証することはありません。

また、DTDにより定義されるデフォルト値やアクセス制御は無効となります。

 

外部参照の解決

外部参照は、SVG<image>エレメント以外は解決されません。

 

文字コード

DOMツリーに含まれる文字はCRSスクリプトとの親和性を考慮し、SHIFT-JIS文字コードに変換され構築されます。XmlDocument.Saveメソッドで保存できるencodingSHIFT-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へ変換されます。その際、変換ができない文字を検出すると、「?」に置き換えられます。

<---ここまで

 

よりネームスペース定義が、アトリビュートとして表現されるよう変更されました

 

PCBiz/BrowserMobile版との差異について

 

Biz/Browser Mobile ver3.0より追加されたXMLパッケージはPC版のサブセットとなっておりXMLの解析およびノードの参照に限定された機能となっています。

オブジェクトとしてはXmlDOMImplementationXmlDocumentXmlNodeXmlElementXmlTextXmlNodeListのみのサポートとなりさらにXMLを変更するようなプロパティおよびメソッドは実装されていません。

 

また名前空間とそれに関わるメソッドも一部を除きサポートされていません。名前空間を含む要素などを検索する場合名前空間を表すプレフィックスと要素名を組み合わせ一つの要素名として扱ってください(<prefix:tagname>の場合、要素名prefix:tagnameとする)

 

MobileBiz/BrowserAndroid版との差異について

 

Biz/Browser AI 1.0より実装されているXMLパッケージは基本的にMobile版と同等のクラスと機能をカバーしていますが、OSの制約上Android版では下記の制約および差異があります。

・日本語のタグ名を扱うことができません。

XmlNode.SelectSingleNodeメソッド, XmlNode.SelectNodesメソッドで指定するXPath式でのインデックスの開始番号は1からとなります。

また、Mobile版とは異なり各クラスはPC版と同様のクラス階層となっています。



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る