Types de données de modèle passthrough
*DataType : PASSTHROUGH définit un modèle pour représenter un type de données non traité. Les caractères qui composent la valeur GDL sont insérés en tant qu’élément Content de l’élément XML qui représente l’attribut GDL.
Les directives suivantes sont reconnues dans un modèle qui définit le type de données PASSTHROUGH :
- *ArrayLabel. Si cette directive est spécifiée, le filtre de l’analyseur s’attend à ce que la valeur soit entourée de parenthèses et précédée de l’étiquette de tableau spécifiée. Cette directive est facultative.
La syntaxe de la valeur doit respecter la syntaxe définie pour le contenu des éléments XML qui peut inclure des données de caractères, des éléments enfants, etc. Notez également que l’analyseur GDL n’échappe pas aux caractères XML spéciaux tels qu’un crochet ouvrant ou fermant (< ou >) ou un esperluette (&). Le créateur de la valeur est responsable de la conformité de la valeur à la syntaxe XML pour le contenu de l’élément.
Si la syntaxe XML est en conflit avec les règles de syntaxe GDL de base, la valeur entière (ou uniquement la partie en conflit) doit être placée dans <les constructions Begin/EndValue :> . Les valeurs XML avec ces syntaxes incompatibles, ou dont la syntaxe est incompatible avec la syntaxe utilisée par les types de données composés, ne peuvent pas apparaître en tant que membre d’un type de données composé, mais doivent apparaître directement en tant que valeur d’un attribut GDL.
Par exemple, considérez l’exemple de modèle suivant.
*Template: ELEMENT_CONTENT
{
*Type: DATATYPE
*DataType: PASSTHROUGH
}
Avec le modèle précédent, le filtre d’analyseur ne crée pas de déclaration de type de données de schéma XSD pour les données PASSTHROUGH.
Considérez l’entrée GDL suivante.
*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 l’entrée précédente est interprétée à l’aide de l’exemple de modèle précédent, la sortie XML suivante se produit.
<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 vous souhaitez valider les instances PASSTHROUGH à l’aide d’un schéma XML, vous devez utiliser le type de données XSD_DEFINED au lieu de PASSTHROUGH, car le type de données XSD_DEFINED permet au schéma XSD d’être défini explicitement dans le modèle et est intégré dans la sortie du schéma par l’analyseur.