開発に XML ファイルでデータを格納したり、設定項目を記述したり、よく利用されています。開発段階に手動による XML ファイルにデータを入力する場合、よくあります。この時人間の入力ミスを防ぐため、ドキュメント型定義 (DTD: Document Type Definition) または XML スキーマ定義言語 (XSD) スキーマを使用します。 XML ドキュメントの構造、その要素間のリレーションシップ、データ型、および内容の制約を定義できます。 ここでは、XSD スキーマに追加紹介します。 下記の XML を例として説明します。 <?xml version="1.0" encoding="utf-8" ?> <Items xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ItemSchema.xsd"> <Item ID="001"> <Name>A</Name> <Type>GroupA</Type> <Value>アイテム1の値</Value> </Item> <Item ID="002"> <Name>B</Name> <Type>GroupB</Type> <Value>アイテム2の値</Value> </Item> </Items> 入力制約仕様:
XSD ファイル例: <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Items"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Item"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="Name" /> <xs:element name="Type" type="Type" /> <xs:element type="Value" name="Value" /> </xs:sequence> <xs:attribute name="ID" type="ID" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:simpleType name="Name"> <xs:restriction base="xs:string"> <xs:minLength value="2" /> <xs:maxLength value="1024" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="Type"> <xs:restriction base="xs:string"> <xs:pattern value="GroupA|GroupB" /> <xs:enumeration value="GroupA" /> <xs:enumeration value="GroupB" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="Value"> <xs:restriction base="xs:string"> <xs:minLength value="2" /> <xs:maxLength value="1024" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="ID"> <xs:restriction base="xs:string"> <xs:pattern value="[\d]{3}" /> </xs:restriction> </xs:simpleType> </xs:schema> このファイルの名前を「ItemSchema.xsd」として保存します。 XML スキーマの走査 http://msdn.microsoft.com/ja-jp/library/ms255932.aspx セシウム137を97.7%吸着 コメント: |