<fsDecl>

<fsDecl> (declaración de estructura de rasgo) declara un tipo de estructura de rasgo [18.11 Feature System Declaration]
Módulo iso-fs — Feature Structures
Atributos
type⚓︎ proporciona un nombre para el tipo de estructura de rasgo que está siendo declarada.
Estado Necesario
Tipo de datos teidata.enumerated
baseTypes⚓︎ proporciona el nombre de una o más estructura de rasgo dadas, de las cuales este tipo hereda especificaciones de rasgo y restricciones; si este tipo incluye una especificación de rasgo con el mismo nombre que las especificadas por este atributo, o si más de una especificación con el mismo nombre se hereda, entonces el conjunto de posibles valores se definen por la unión de estas. De la misma manera, el conjunto de restricciones aplicable se deriva de la combinación de las restricciones especificadas explícitamente dentro de este elemento con aquellas referidas por el atributo baseTypes. Cuando no se especifica ningún baseTypes, no se hereda ninguna especificación de rasgo o restricción.
Estado Opcional
Tipo de datos 1–∞ apariciones de teidata.name separado por espacio en blanco
Miembro de
Contenido en
iso-fs: fsdDecl
Puede contener
Ejemplo
<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>
Content model
<content>
 <sequence>
  <elementRef key="fsDescrminOccurs="0"/>
  <elementRef key="fDeclminOccurs="1"
   maxOccurs="unbounded"/>

  <elementRef key="fsConstraints"
   minOccurs="0"/>

 </sequence>
</content>
Declaración
<rng:element name="fsDecl">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.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:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:ref name="att.datcat.attributes"/>
 <rng:attribute name="type">
  <rng:ref name="teidata.enumerated"/>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="baseTypes">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="teidata.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.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   att.datcat.attributes,
   attribute type { teidata.enumerated },
   attribute baseTypes { list { teidata.name+ } }?,
   ( fsDescr?, fDecl+, fsConstraints? )
}