En qué lugar deben establecerse las propiedades de objetos DFDL.
Las propiedades DFDL no tienen valores predeterminados incorporados. Si un objeto necesita una propiedad, debe suministrar un valor.
- Puede establecer la propiedad localmente en el propio objeto.
- Puede establecer la propiedad en una anotación dfdl:format dentro de una anotación dfdl:defineFormat con nombre. A continuación, puede utilizar la propiedad dfdl:ref especial para hacer referencia a la anotación dfdl:defineFormat.
- Puede establecer la propiedad en la anotación dfdl:format del esquema. En este caso, la propiedad actúa como un valor predeterminado para todos los objetos del esquema.
Consejo: La propiedad dfdl:ref también se puede utilizar en una anotación
dfdl:format, habilitando el encadenamiento de herencia.
En el ejemplo siguiente se muestran las diferentes formas en que se pueden establecer los iniciadores
a:,
b: y
c::
<xs:schema>
<xs:annotation>
<xs:appinfo source="http://www.ogf.org/dfdl/" >
<dfdl:format initiator="c:" … />
</xs:appinfo>
</xs:annotation>
<xs:annotation> <xs:appinfo source="http://www.ogf.org/dfdl/" >
<dfdl:defineFormat name="myFormat" />
<dfdl:format initiator="b:" … />
</dfdl:defineFormat>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence dfdl:separator="," >
<xs:element name="a" type="xs:string" dfdl:initiator="a:" 1 />
<xs:element name="b" type="xs:string" dfdl:ref="myFormat" 2 />
<xs:element name="c" type="xs:string" 3 />
</xs:sequence>
</xs:complexType>
</xs:schema>
Clave:- 1 La propiedad dfdl:initiator
se ha establecido localmente.
- 2 La propiedad dfdl:initiator
se ha establecido en el formato definido myFormat y se ha accedido a ella
mediante dfdl:ref.
- 3 La propiedad dfdl:initiator
se ha establecido en la anotación dfdl:format del esquema.