XMLスキーマでHello World

XMLスキーマの書き方について、学んだ事を書いていきます。

XML SchemaXMLスキーマ)は、
XML文書の論理的構造を定義する為に開発されたスキーマ言語の一つ。
現在、W3Cが開発・標準化にあたっている。

XML Schema - Wikipedia


XMLスキーマは、XML文書の記載ルールを記述したXMLです。
XMLスキーマを使って、XML文書が記載ルールに従っているかをチェックできます。


簡単なサンプルを作ってみます。
まずはお約束のHello Worldから。


■HelloWorld.xml

<?xml version="1.0"  encoding="UTF-8"?>
<greeting xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HelloWorld.xsd">
  Hello World!!
</greeting>


「xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"」は、おまじないみたいなものです。
「xsi:noNamespaceSchemaLocation="HelloWorld.xsd"」で、「XMLスキーマはHelloWorld.xsdを使用しますよ。」と宣言しています。


■HelloWorld.xsd

<?xml version="1.0"  encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="greeting" type="xsd:string" />
</xsd:schema>


「xmlns:xsd="http://www.w3.org/2001/XMLSchema"」も、おまじないみたいなものです。(-∧-;) ナムー
」で、「greetingというXMLタグを記載していいですよ。」と宣言しています。


Eclipseで、XMLスキーマ検証してみます。
「HelloWorld.xml」を開いて、右クリックメニューの「検証」で、XMLスキーマ検証します。


エラーは出ませんね。


HelloWorld.xmlに書き換えて、検証してみます。
■HelloWorld.xml

<?xml version="1.0"  encoding="UTF-8"?>
<greeting2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HelloWorld.xsd">
  Hello World!!
</greeting2>


「HelloWorld.xsd」には、は定義されていないので、検証エラーになります。