Tipos de datos de plantilla de paso a través
*DataType: PASSTHROUGH define una plantilla para representar un tipo de datos no procesado. Los caracteres que componen el valor GDL se insertan como contenido de elemento del elemento XML que representa el atributo GDL.
Las siguientes directivas se reconocen dentro de una plantilla que define el tipo de datos PASSTHROUGH:
- *ArrayLabel. Si se especifica esta directiva, el filtro del analizador espera que el valor esté entre paréntesis y precedido por la etiqueta de matriz especificada. Esta directiva es opcional.
La sintaxis del valor debe cumplir la sintaxis definida para el contenido del elemento XML que puede incluir datos de caracteres, elementos secundarios, etc. Tenga en cuenta también que el analizador de GDL no escapará caracteres XML especiales como un corchete de apertura o cierre (< o >) o una y comercial (&). El creador del valor es responsable de ajustar el valor a la sintaxis XML para el contenido del elemento.
Si la sintaxis XML entra en conflicto con las reglas básicas de sintaxis de GDL, todo el valor (o simplemente la parte en conflicto) debe ir entre <las construcciones Begin/EndValue:> . Los valores XML con estas sintaxis incompatibles o cuya sintaxis es incompatible con la sintaxis que usan los tipos de datos compuestos, no pueden aparecer como miembro de un tipo de datos compuesto, pero deben aparecer directamente como el valor de un atributo GDL.
Por ejemplo, considere la siguiente plantilla de ejemplo.
*Template: ELEMENT_CONTENT
{
*Type: DATATYPE
*DataType: PASSTHROUGH
}
Con la plantilla anterior, el filtro del analizador no crea una declaración de tipo de datos de esquema XSD para los datos PASSTHROUGH.
Tenga en cuenta la siguiente entrada de GDL.
*InLineXML: <BeginValue:XML>
<Cell CellOrdinal="0">
<Value xsi:type="xsd:double">16890</Value>
<FmtValue>16,890.00</FmtValue>
<FormatString>Standard</FormatString>
</Cell>
<EndValue:XML>
Si la entrada anterior se interpreta mediante la plantilla de ejemplo anterior, se produciría la siguiente salida XML.
<GDL_ATTRIBUTE Name="*InLineXML" >
<Cell CellOrdinal="0">
<Value xsi:type="xsd:double">16890</Value>
<FmtValue>16,890.00</FmtValue>
<FormatString>Standard</FormatString>
</Cell>
</GDL_ATTRIBUTE>
Si desea validar las instancias PASSTHROUGH mediante un esquema XML, debe usar el tipo de datos XSD_DEFINED en lugar de PASSTHROUGH, ya que el XSD_DEFINED tipo de datos permite definir explícitamente el esquema XSD en la plantilla y se integra en la salida del esquema por parte del analizador.