je le fichier XML suivant:Comment définir des balises dans un corps de variable
<?xml version="1.0"?>
<Table69>
</Table69>
et que vous voulez lire le corps de l'élément « Table69 », je l'ai utilisé le fichier XSL suivant:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:variable name="table" >
<xsl:choose>
<xsl:when test="normalize-space(.) != ''" >
<xsl:value-of select="." />
</xsl:when>
<xsl:otherwise>
<Exception>
field was missing
</Exception>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<Table id="69">
<xsl:value-of select="$table" />
</Table>
</xsl:template>
</xsl:stylesheet>
Le problème est: Lorsque le fichier xml contient une valeur sous Table69 tage, cette valeur est imprimée avec succès, mais; lorsque cette balise ne contient pas une valeur, la vairalbe xsl « table » doit contenir les éléments suivants:
<Exception>
field was missing
</Exception>
mais, il ne comprend pas tage, voici un exemple de résultat de la transformation:
<?xml version="1.0"?>
<Table id="69">
field was missing <!-- where's the Exception tag surrounding the text field was missing ??? -->
</Table>
Malheureusement, la valeur-of affichera toujours la valeur de texte qui omettrait les nœuds. – Thiyagaraj