Rational Developer for System z
Enterprise PL/I for z/OS, Version 4.1, プログラミング・ガイド

XML スキーマ

XML スキーマは、W3C により定義された、XML 文書の構造と内容を記述および抑制するためのメカニズムです。 データ型および名前空間のサポートを通じて、XML スキーマは、XML エレメントおよび属性の標準構造を提供することができます。 そのため、XML スキーマ (それ自体が XML で表される) は、指定されたタイプ (在庫品目など) の XML 文書のクラスを効率的に定義できます。

次の XML 文書の例では、在庫管理の目的で品目を記述しています。

      '<?xml version="1.0" standalone="yes"?>'
   || '<!--Document for stock keeping example-->'
   || '<stockItem itemNumber="453-SR">'
   || '<itemName>Stainless steel rope thimbles</itemName>'
   || '<quantityOnHand>23</quantityOnHand>'
   || '<stockItem>';   

上の在庫管理の文書例は、適切な形式であり、stock.xsd という次のスキーマに従って有効です。 (各行の前にある番号はスキーマの一部ではなく、スキーマの後にある説明で使用します。)

1. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
2.
3. <xsd:element name="stockItem" type="stockItemType"/>
4. 
5. <xsd:complexType name="stockItemType">
6.  <xsd:sequence>
7.   <xsd:element name="itemName" type="xsd:string" minOccurs="0"/>
8.   <xsd:element name="quantityOnHand">
9.    <xsd:simpleType>
10.    <xsd:restriction base="xsd:nonNegativeInteger">
11.      <xsd:maxExclusive value="100"/>
12.     </xsd:restriction>
13.    </xsd:simpleType>
14.   </xsd:element>
15.  </xsd:sequence>
16.  <xsd:attribute name="itemNumber" type="SKU" use="required"/>
17. </xsd:complexType>
18.
19. <xsd:simpleType name="SKU">
20.  <xsd:restriction base="xsd:string">
21.   <xsd:pattern value="\d{3}-[A-Z]{2}"/>
22.  </xsd:restriction>
23. </xsd:simpleType>
24.
25. </xsd:schema>

スキーマは、ルート・エレメントが stockItem であることを宣言しています (行 3)。 このルート・エレメントには、SKU 型の必須属性 itemNumber があり (行 16)、次のような他のエレメントのシーケンスが含まれています (行 6 から 15)。

型宣言はインライン化し、無名化することができます (行 9 から 13)。 これには、quantityOnHand エレメントに正しい値を指定するための maxExclusive ファセットが含まれています。

一方、itemNumber 属性については、名前付き型 SKU が別途宣言されています (行 19 から 23)。 これには、正規表現構文を使用して、その型の正しい値が 3 桁の数字、ハイフン (負符号)、2 つの大文字がこの順序で構成されるように指定する、パターン・ファセットが含まれています。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)