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

XMLコードライティングのコーディングとバリデーションの簡単な紹介

2021-12-31 20:24:12

エンコーディング

エンコーディングは、ユニコード文字を同等のバイナリ表現に変換するプロセスです。XMLプロセッサがXML文書を読み込むとき、エンコーディングのタイプに依存して文書をエンコードします。したがって、XML宣言でエンコーディング・タイプを指定する必要があります。

エンコーディング・タイプ
エンコードには、大きく分けて2つのタイプがあります。

UTF-8
UTF-16
UTFはUCSの変換形式を表し、それ自体がUniversal Character Setを意味する。8または16という数字は、文字を表現するためのビット数を表します。8(1バイト)または16(2バイト)である。エンコーディング情報のない文書では、デフォルトでUTF-8が使用されます。

構文
エンコーディング情報は、XML文書のプリアンブルに記載されています。UTF-8エンコーディングの構文は次のとおりです。

XML/HTMLコード コンテンツをクリップボードにコピーする
  1. xml バージョン = "1.0" エンコーディング = "UTF-8" スタンドアロン "いいえ" ? >

UTF-16 エンコーディングの構文は以下のとおりです。

XML/HTMLコード コンテンツをクリップボードにコピーする
  1. xml バージョン = "1.0" エンコーディング = "UTF-16" スタンドアロン "いいえ" ? >

次の例では、コーディング宣言を行っています。

XML/HTMLコード コンテンツをクリップボードにコピーする
  1. xml バージョン = "1.0" エンコーディング = "UTF-8" スタンドアロン "いいえ" ? >
  2. < コンタクトインフォ >
  3. < 名称 > タンメイ・パティル < 名称 >
  4. < 会社 > チュートリアルポイント < 会社 >
  5. < 電話 > (011) 123-4567 < 電話 >
  6. < コンタクトインフォ >

上記のencoding="UTF-8 "の例では、8ビット表現が指定されています。16を表現に使うには、UTF-16エンコーディングが使えます。

UTF-8でエンコードされたXMLファイルは、UTF-16形式のファイルよりサイズが小さくなります。

バリデート

バリデーションは、XML文書を検証するプロセスです。文書は、その内容が要素、属性、関連する文書型定義(DTD)に一致し、かつbで表現される制約に適合する場合に有効とみなされる。 XMLパーサーを通じて検証を処理する方法は2つある。それらは

整形されたXML文書
有効なXML文書
整形されたXML文書
An XML document is considered well-formed if it follows the following rules.

XML documents without a DTD must use predefined character entities for handling amp(&), apos (single quotes), g(>), quot (double quotes).
The order of tags must be followed, e.g. internal tags must be closed before external tags are closed.
Each start tag must have an end tag or must be a self-closing tag ( ... or ). <br></br>There must be only one attribute in the start tag, and it needs to be wrapped in quotes. <br></br>All but the amp(&), apos (single quotes), g(>), and quot (double quotes) entities must be declared before they can be used. <br></br>Example </p><p>The following is an example of a well-formed XML document. </p><div><div><span>XML/HTML Code </span><span>Copy content to clipboard </span></div><div><ol><li><span><span><? </span><span>xml </span><span></span><span>version </span><span>= </span><span>"1.0" </span><span></span><span>encoding </span><span>= </span><span>"UTF-8" </span><span></span><span>standalone </span><span></span></span><span>"yes" </span><span></span><span>? > </span><span></span></span></li><li><span><!DOCTYPE address    </span></li><li><span>[    </span></li><li><span><!ELEMENT address (name,company,phone) </span><span>> </span><span></span></li><li><span> <!ELEMENT name (#PCDATA) </span><span>> </span><span></span></li><li><span> <!ELEMENT company (#PCDATA) </span><span>> </span><span></span></li><li><span> <!ELEMENT phone (#PCDATA) </span><span>> </span><span></span></li><li><span>] </span><span>> </span><span></span></li><li><span></span><span>< </span><span>address </span><span>> </span><span></span></li><li><span></span><span>< </span><span>name </span><span>> </span><span>Tanmay Patil </span><span><</></span><span>name </span><span>> </span><span></span></li><li><span></span><span>< </span><span>company </span><span>> </span><span>TutorialsPoint </span><span><</></span><span>company </span><span>> </span><span></span></li><li><span></span><span>< </span><span>phone </span><span>> </span><span>(011) 123-4567 </span><span><</></span><span>phone </span><span>> </span><span></span></li><li><span></span><span><</></span><span>address </span><span>> </span><span></span></li></ol></div></div><p>The above example is considered well-formed because. </p><p>It defines the document type. And here the document type is the element type. <br></br>Contains a root element named address. <br></br>Each child element name, company and phone is a self-explanatory properly closed label. The <br></br>The tags are in the correct order. </p><div><span></span></div>