XMLチュートリアル

XMLホーム XMLの紹介 XML使用方法 XMLツリー XML構文 XML要素 XML属性 XML名前空間 XML表示 XML HttpRequest XMLパーサー XML DOM XML XPath XML XSLT XML XQuery XML XLink XMLバリデーター XML DTD XMLスキーマ XMLサーバー XMLの例 XMLクイズ XML証明書

XML AJAX

AJAXの紹介 AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

XML DOM

DOMの紹介 DOMノード DOMアクセス DOMノード情報 DOMノードリスト DOMトラバース DOMナビゲーション DOMは値を取得します DOM変更ノード DOM削除ノード DOM置換ノード DOM作成ノード DOM追加ノード DOMクローンノード DOMの例

XPathチュートリアル

XPathの概要 XPathノード XPath構文 XPath軸 XPath演算子 XPathの例

XSLTチュートリアル

XSLTの紹介 XSL言語 XSLT変換 XSLT <テンプレート> XSLT <値> XSLT <for-each> XSLT <ソート> XSLT <if> XSLT <選択> XSLT適用 クライアント上のXSLT サーバー上のXSLT XSLT Edit XML XSLTの例

XQueryチュートリアル

XQueryの紹介 XQueryの例 XQuery FLWOR XQuery HTML XQueryの用語 XQuery構文 XQuery追加 XQuery Select XQuery関数

XML DTD

DTDの紹介 DTDビルディングブロック DTD要素 DTD属性 DTD要素と属性 DTDエンティティ DTDの例

XSDスキーマ

XSDの概要 XSDハウツー XSD <スキーマ> XSD要素 XSD属性 XSDの制限

XSDコンプレックス

XSD要素 XSDが空です XSD要素のみ XSDテキストのみ XSD混合 XSDインジケーター XSD <任意> XSD <anyAttribute> XSD置換 XSDの例

XSDデータ

XSD文字列 XSD日付 XSD数値 XSDその他 XSDリファレンス

Webサービス

XMLサービス XML WSDL XML SOAP XML RDF XML RSS

参考文献

DOMノードタイプ DOMノード DOM NodeList DOM NamedNodeMap DOMドキュメント DOM要素 DOM属性 DOMテキスト DOM CDATA DOMコメント DOM XMLHttpRequest DOMパーサー XSLT要素 XSLT / XPath関数

XMLスキーマチュートリアル


XMLスキーマとは何ですか?

XMLスキーマは、XMLドキュメントの構造を記述します。

XMLスキーマ言語は、XMLスキーマ定義(XSD)とも呼ばれます。

XSDの例

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

XMLスキーマの目的は、XMLドキュメントの正当な構成要素を定義することです。

  • ドキュメントに表示できる要素と属性
  • 子要素の数(および順序)
  • 要素と属性のデータ型
  • 要素と属性のデフォルト値と固定値

なぜXMLスキーマを学ぶのですか?

XMLの世界では、何百もの標準化されたXML形式が日常的に使用されています。

これらのXML標準の多くは、XMLスキーマによって定義されています。

XMLスキーマは、DTDに代わるXMLベースの(そしてより強力な)代替手段です。



XMLスキーマはデータ型をサポートします

XMLスキーマの最大の強みの1つは、データ型のサポートです。

  • 許容されるドキュメントの内容を説明する方が簡単です
  • データの正確さを検証する方が簡単です
  • データファセット(データの制限)を定義する方が簡単です
  • データパターン(データ形式)の定義が簡単
  • 異なるデータ型間でデータを変換する方が簡単です

XMLスキーマはXML構文を使用します

XMLスキーマのもう1つの大きな強みは、XMLで記述されていることです。

  • 新しい言語を学ぶ必要はありません
  • XMLエディターを使用してスキーマファイルを編集できます
  • XMLパーサーを使用してスキーマファイルを解析できます
  • XMLDOMを使用してスキーマを操作できます
  • XSLTを使用してスキーマを変換できます

XMLスキーマは、XMLで記述されているため、拡張可能です。

拡張可能なスキーマ定義を使用すると、次のことができます。

  • スキーマを他のスキーマで再利用する
  • 標準型から派生した独自のデータ型を作成します
  • 同じドキュメント内の複数のスキーマを参照する

XMLスキーマはデータ通信を保護します

送信者から受信者にデータを送信するときは、両方の部分がコンテンツに対して同じ「期待」を持っていることが不可欠です。

XMLスキーマを使用すると、送信者は受信者が理解できる方法でデータを記述できます。

「2004年3月11日」のような日付は、一部の国では11月3日と解釈され、他の国では3月11日と解釈されます。

ただし、次のようなデータ型のXML要素:

<date type = "date"> 2004-03-11 </ date>

XMLデータ型「date」には「YYYY-MM-DD」の形式が必要なため、コンテンツの相互理解が保証されます。


整形式では不十分です

整形式のXMLドキュメントは、次のようなXML構文規則に準拠するドキュメントです。

  • XML宣言で始まる必要があります
  • 一意のルート要素が1つ必要です
  • 開始タグには、一致する終了タグが必要です
  • 要素では大文字と小文字が区別されます
  • すべての要素を閉じる必要があります
  • すべての要素を適切にネストする必要があります
  • すべての属性値は引用符で囲む必要があります
  • エンティティは特殊文字に使用する必要があります

ドキュメントが整形式であっても、エラーが含まれている可能性があり、それらのエラーは深刻な結果をもたらす可能性があります。

次の状況を考えてみてください。5台のレーザープリンターではなく、5台のレーザープリンターを注文します。XMLスキーマを使用すると、これらのエラーのほとんどを検証ソフトウェアで検出できます。