<fsDecl>

<fsDecl> (자질 구조 선언자질 구조 선언) 하나의 자질 구조 유형을 선언한다.자질 구조의 유형을 선언한다. [18.11 Feature System Declaration]
모듈iso-fs — 18 Feature Structures
속성att.global (@xml:id, @n, @xml:lang, @rend, @style, @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유형으로부터 상속받은 자질 명세와 제약으로 구성된 하나 이상의 유형화된 자질 구조의 이름을 제시한다; 만약 이 유형이 속성에 의해 명시된 것과 동일한 이름을 갖는 자질 명세를 포함한다면, 또는 동일 이름의 하나 이상의 명세가 상속된다면, 가능한 값의 집합은 통합에 의해 정의된다. 비슷하게 적용가능한 제약 집합이 baseTypes 속성에 의해 지시된 제약을 가진 요소 내에서 명백하게 명시된 제약의 결합에 의해 도출된다. baseType이 명시되지 않았다면, 어떤 자질 명세 또는 제약도 상속되지 않는다.이 유형이 자질 명세와 제약을 상속받는 하나 이상의 유형화된 자질 구조의 이름을 제시한다. 만약 동일 이름의 자질 명세를 이 유형이 포함하거나, 동일 이름의 명세가 여럿이라면, 가능한 값의 집합은 통합에 의해 정의된다. 비슷하게, 적용 가능한 제약들의 집합은 이 요소들 내에서 명시된 자질 명세나 제약과 baseTypes 요소에 의해 의미된 자질 명세나 제약을 결합하여 도출된다. baseTypes가 명시되어 있지 않다면 자질 명세나 제약이 상속되지 않는다.
상태 수의적
자료 유형 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: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,
   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+ } }?,
   ( 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>