<fsDecl>

<fsDecl> (功能結構宣告) 宣告一種功能結構類型。 18.11 Feature System Declaration
組件 iso-fs — 18 Feature Structures
除全域屬性以外
type 提供所宣告的功能結構的類型名稱。
狀態 必備的
資料類型

<rng:ref name="data.enumerated"/>
data.enumerated
any convenient string of characters.
baseTypes 提供一個或多個已分類的功能結構名稱,此類型從該功能結構中獲得功能細節與限制;若該類型包含的功能細節名稱同於此屬性所標明的任一功能細節,或者該類型獲得一個以上同名的功能細節,則所有可能的屬性值是為統一定義。同樣地,適用限制的衍生,是將此元素中所明確標明的和屬性baseType所標明的結合。若未使用屬性baseType,則沒有獲得任何功能細節或限制。
狀態 非必備的
資料類型 1–∞ 次可出現: 

<rng:ref name="data.name"/>
data.name
以空白鍵隔開
one or more names as defined by the W3C XML Specification
屬於
可包含
宣告

<rng:element name="fsDecl">
 <rng:ref name="att.global.attributes"/>
 <rng:attribute name="type">
  <rng:ref name="data.enumerated"/>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="baseTypes">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.name"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:optional>
   <rng:ref name="fsDescr"/>
  </rng:optional>
  <rng:oneOrMore>
   <rng:ref name="fDecl"/>
  </rng:oneOrMore>
  <rng:optional>
   <rng:ref name="fsConstraints"/>
  </rng:optional>
 </rng:group>
</rng:element>
element fsDecl
{
   att.global.attributes,
   attribute type { data.enumerated },
   attribute baseTypes { list { data.name+ } }?,
   ( fsDescr?, fDecl+, fsConstraints? )
}
例子
<fsDecl type="SomeName">
 <fsDescr>Describes what this type of fs represents</fsDescr>
 <fDecl name="featureOne">
<!-- The declaration for featureOne -->
 </fDecl>
 <fDecl name="featureTwo">
<!-- The declaration for featureTwo -->
 </fDecl>
 <fsConstraints>
<!-- The feature structure constraints go here -->
 </fsConstraints>
</fsDecl>