ぽざうねっと

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

ニュース

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

書庫

日記カテゴリ

Accessory

Community

Private

さてさてお久しぶりの XML Schema の型話です。
しばらく放置してましたね(汗)
XML Schema については、まだまだメモっておきたいことがたくさんあるので、じっくり書いていきましょう。
早く先に進みたい気持ちもありますが。

さて、タイトルを見て「ん?」と思った人。
あなたは正しいです。
単純型を制限してどうして複合型になるのでしょう?
要するに xsd:simpleContent の子供に xsd:restriction を指定するパターンですが、これは内容モデルというところがミソです。
サンプルを見てみましょう。
<xsd:complexType name="type1">
    <xsd:simpleContent>
        <xsd:extension base="xsd:string">
            <xsd:attribute name="attr1" type="xsd:string"/>
            <xsd:attribute name="attr2" type="xsd:integer"/>
        </xsd:extension>
    </xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="type2">
    <xsd:simpleContent>
        <xsd:restriction base="type1">
            <xsd:maxLength value="10"/>
            <xsd:attribute name="attr2" use="prohibited"/>
        </xsd:restriction>
    </xsd:simpleContent>
</xsd:complexType>
要するに、以前お話した「単純型を拡張した複合型」を制限するわけです。
要素内容に対する制限(今回は最大長10文字までに制限してます)と属性の禁止を行ってます。
ま、要はあれですよね。まず、使いません。

結局のところ
  • 複合型を拡張した複合型
  • 複合型を制限した複合型
  • 単純型を拡張した複合型
  • 単純型を制限した複合型
どれも別に使う必要ないやって結論になりました(あらら・・・)

さて、次回からは制約ファセットに行きますか
投稿日時 : 2007年4月18日 0:32

コメント

# re: 単純型の内容モデルを制限した複合型 2007/04/18 20:20 シャノン
> どれも別に使う必要ないやって結論になりました(あらら・・・)

派生自体にはあまりメリットがないかもしれませんね。
是非、代替要素と絡めて取り上げて頂きたいです。
#個人的には代替要素も「使えねぇー」なんですが。

# re: 単純型の内容モデルを制限した複合型 2007/04/18 20:20 シャノン
代替要素じゃなくて代替グループ(substitutionGroup)か。

# re: 単純型の内容モデルを制限した複合型 2007/04/19 0:41 THREE-ONE
substitutionGroup ですか、まあそのうち。
制約ファセットがそこそこ長引きそうですが、その後にでも

Post Feedback

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