<fsDecl>

<fsDecl> (功能結構宣告) 宣告一種功能結構類型。 [18.11 Feature System Declaration]
組件iso-fs — 18 Feature Structures
屬性att.global (@xml:id, @n, @xml:lang, @rend, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change))
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
屬於
可包含在於
iso-fs: fsdDecl
可包含
宣告

<rng:element name="fsDecl">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:attribute name="type">
  <rng:ref name="data.enumerated"/>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="baseTypes">
   <rng:list>
    <rng:ref name="data.name"/>
    <rng:zeroOrMore>
     <rng:ref name="data.name"/>
    </rng:zeroOrMore>
   </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,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   attribute type { data.enumerated },
   attribute baseTypes { list { data.name, data.name* } }?,
   ( fsDescr?, fDecl+, fsConstraints? )
}
例子
<fsDecl type="SomeName">
 <fsDescr>Describes what this type of fs represents</fsDescr>
 <fDecl name="featureOne">
<!-- The declaration for featureOne -->
  <vRange>
<!-- the range of possible values for this feature -->
  </vRange>
 </fDecl>
 <fDecl name="featureTwo">
<!-- The declaration for featureTwo -->
  <vRange>
<!-- the range of possible values for this feature -->
  </vRange>
 </fDecl>
 <fsConstraints>
<!-- Any additional constraints for the feature structure -->
 </fsConstraints>
</fsDecl>