ぽざうねっと

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  396  : 記事  0  : コメント  1030  : トラックバック  66

ニュース

さて、今年の秋は何を漬けようか

書庫

日記カテゴリ

Accessory

Community

Private

XML で要素内容や属性値をデータ型以上に制限したいときがあります。
たとえば、数値の上限を定めたかったり、文字数の下限・上限を定めた飼ったりする場合ですね。
そんな場合、独自データ型というものを作成します。
独自に単純型を定義する場合、基本的には「制限(ristriction)」という手段を用いて定義します。
そのとき利用するものが制約ファセットです。
制約ファセットは全て下記の記述で表現されます。
<xsd:制約名 value="利用する値"/>
そしてそれぞれの制約は、利用する際に基となるデータ型はほぼ決まっています。
各数値のデータ型、もしくは文字列型です。
数値の場合、minInclusive(以下), minExclusive(未満), maxInclusive(以上), maxExclusive(より上), totalDigits(桁総数), fractionDigits(小数部の桁数)が利用できます。
文字列の場合、length, maxLength, minLength, pattern ですね。minLength や maxLength は指定された値を含みます。
このうち pattern 以外の三つは文字列以外にも適応できるのですが、意味合いが変わってくるので後日改めて書きます。
はっきり言って、簡単です。一つ理解すればほぼ理解できます。
というわけで簡単なサンプルだけ・・・
<xsd:simpleType name="TestType">
   <xsd:restriction base="xsd:int">
   <xsd:minInclusive value="-100" />
   <xsd:maxInclusive value="100" />
   </xsd:restriction>
</xsd:simpleType>
-100 から 100 までの整数値だけを許可するデータ型の定義です。
と、使い方は簡単なのですが、正規表現を利用する pattern 制約ファセットはかなり強力で特殊なため、次回もうちょっと詳しくメモりましょ。
投稿日時 : 2007年6月20日 17:01

コメント

# re: 制約ファセット(その1) 2007/06/21 11:40 taka
制約ファセットが制約ファルセットに見えた俺は負け組

ま、それはいいとして
結構気合入れて作ったXSDがうまいこと機能すると気分いいですよね~
最近作ってないですけどw



# re: 制約ファセット(その1) 2007/06/21 22:37 THREE-ONE
制約かけた裏声はむずかしいっすねw

> 結構気合入れて作ったXSDがうまいこと機能すると気分いいですよね~
色々がんばってモデリングして作ったりしますからねー xsd って。
うまく行くととてもほっとします。

Post Feedback

タイトル
名前
Url:
コメント: