Partager via


Types de données des modèles de passage

* 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 que contenu d’élément 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 d’analyseur s’attend à ce que la valeur soit placée entre 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 d’élément XML qui peut inclure des données caractères, des éléments enfants, et ainsi de suite. Notez également que l’analyseur GDL n’échappe pas de caractères XML spéciaux comme un crochet ouvrant ou fermant (< ou >) ou un ampersand (>). 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 simplement la partie en conflit) doit être placée entre <les constructions Begin/EndValue.> Les valeurs XML avec de telles 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 comme 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 explicitement défini dans le modèle et est intégré à la sortie du schéma par l’analyseur.