<html xmlns="http://www.w3.org/1999/xhtml" a0:Name="SuikaWiki" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:Version="0.9"><head></head><body><p><a0:anchor-end a0:anchor="1">[1]</a0:anchor-end> 【<a0:anchor>XMLSchema</a0:anchor>】 
<dfn>facet</dfn> は、<a0:anchor>値空間</a0:anchor>の単一定義側面
(single defining aspect) です。
一般的に言って、各 facet は値空間を独立の軸 (次元)
において特徴付けます。
<a0:anchor-external a0:resScheme="URI" a0:resParameter="http://www.w3.org/TR/xmlschema-2/#facets">http://www.w3.org/TR/xmlschema-2/#facets</a0:anchor-external></p><p><a0:anchor>データ型</a0:anchor>の facet は、そのデータ型と他のデータ型のその側面における違いを与えます。
仕様書中のデータ型は、単に自然言語による記述で定義されているのではなく、
データ型の値空間及び<a0:anchor>特性</a0:anchor>を共に決定する facet
値を<em>集めたもの</em>として定義しています。</p><p>Facet には基本 (fundemental) facet と非基本 facet = 
制約 (constraining) facet の2種類があります。
後者はデータ型で認められる値を制約します。<ul><li><a0:anchor-end a0:anchor="2">[2]</a0:anchor-end> XML Schema 仕様書で定義された facet は、 <code class="URI">http://www.w3.org/2001/XMLSchema#<var>facet 名</var></code> で識別できます。</li><li><a0:anchor-end a0:anchor="3">[3]</a0:anchor-end> また、<a0:anchor>組込みデータ型</a0:anchor>における facet の使用を識別することも出来ます。例: <samp class="URI">http://www.w3.org/2001/XMLSchema#int.maxInclusive</samp> (<a0:anchor>データ型</a0:anchor> <code class="SchemaType"><a0:anchor>int</a0:anchor></code> での facet <code class="SchemaFacet"><a0:anchor>maxInclusive</a0:anchor></code>)</li><li><a0:anchor-end a0:anchor="4">[4]</a0:anchor-end> 誤解を恐れずに簡単にまとめてしまえば、<a0:rubyb>面相<rt>facet</rt></a0:rubyb>とは、データ型 (という class) の<ruby>特性<rt>property</rt></ruby>のことでしょうか。基礎面相は主として意味的な特徴付けを行い、非基礎面相 = 制約面相は値空間 (・<a0:anchor>字句空間</a0:anchor>) に意味的な制約を課す。そんなところ?</li></ul></p></body></html>