1. ホーム
  2. Web制作
  3. XML/XSLT

XML入門チュートリアル。XMの解析

2021-12-31 04:08:15

XML文書の解析は、プログラムによって行うことができる。パーサーには、イベントドリブンとツリーモデルに基づく2つの主なタイプがあります。
XMLドキュメントの解析はプログラムで行うことができ、イベントドリブンとツリーモデルに基づいた2つの主要なタイプのパーサーがあります。

    イベント駆動型パーサーを使用する場合、各要素に遭遇するとイベントが発生し、イベントハンドラで処理されます。イベント パーサーは XML 文書を順次読み込み、文書全体をメモリに読み込まないため、処理が高速になります。しかし、XML文書を最初から最後まで読むので、XML文書内の位置を移動することができないという欠点がある。イベントドリブン型パーサーは、HTML文書への変換や、ファイルからデータを読み込んでデータベースに挿入するなど、別の場所で使われるXMLデータの処理に適している。以下のような利点があります。

      XML文書から必要なフラグやデータを検索する「文書検索」。
      元のXMLを別の形式に変換する必要がある場合は、イベント駆動型パーサーを使用するのが最適です。このパーサーは、情報を新しい形式に動的に変換します。
      イベントドリブン・パーサーは、特にXML文書の整理や再フォーマットに適しています。
      簡易検証:文書全体がメモリ上にないため完全な検証はできないが、スペルミスやXML文書の一般的なグッドフォーマット化などの簡単な問題をチェックすることができる。
      内部構造の構築。イベントドリブンパーサーを使用して、ツリーベースのインターフェースで使用されるツリー構造のような、XMLドキュメントの複雑な内部表現を構築することができる。 イベントドリブンパーサは、XML文書間で文書内容を相互参照することはできないが、シンプルで高速に使用することができる。
      ツリーベースのパーサーは、XML文書全体をメモリに読み込み、ツリー構造を生成する。パーサーはツリー内の任意のノードにランダムにアクセスでき、ツリー構造と内容を変更することができます。

      1. パーサツール
      既存のパーサーは何百種類もありますが、2つの標準的なツールのライブラリがよく使われています。1つはSAX (Simple API for XML) とDOC (Document Object Model、文書オブジェクトモデル)です。SAXはイベントドリブン型パーサーの標準であり、DOMはツリー型パーサーの標準である。また、標準ではないが、スクリプト言語でXMLを処理するためのパーサーとして、Expatが最もよく使われている。ExpatはJames Clarkによって書かれたイベントドリブンのパーサーである。
      この記事はScripting House(https://www.jb51.net)が編集・公開したものです! 出典を引用してください!ありがとうございました。 [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...]
      XHTML 1.0 DTDには、文書内で使用できる便利な3つの文字参照エンティティが含まれています。

        Latin-1文字、http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
        ISO-8859-1 の 160 以降の非 ASCII 文字。
        特殊文字、http://www.w3.org/TR/xhtml/DTD/xhtml-special.ent
        ISO-8859-2の文字で、Latin-1にない文字。
        句読点、http://www.w3.org/TR/xhtml-symbol.ent
        ギリシャ語のアルファベット(アクセント記号付き文字を除く)と、数学でよく使われる様々な句読点、数学演算子、その他の記号です。
        XML文書では、xml:lang属性を用いて、要素の内容に使用する言語を指定することができます。これにより、一つの文書で複数の言語を同時に使用することが可能となり、クロスプラットフォーム、クロスランゲージであるXMLの重要な特徴の一つとなっています。例えば、xml:lang="CN-CHN"のようになります。言語コードは2文字の言語コードで、その後にサブコードを付けることができます。サブコードは、こちらhttp://ftp.ics.uci.edu/pub/ietf/http/related/iso3166.txt。以下は、xml:lang属性の宣言の例です。
        <!ELEMENT test (#PCDATA)> <!ATTLIST test xml:lang NMTOKEN #IMPLIED>
        すべての言語コードは有効なXML名前タグであるため、NMTOKEN型が使用されます。