Nous transformons ces données XML en format tube délimité en utilisant ... XSLComment itérer des données XML en utilisant XSL sans les noms d'éléments codés en dur?
<?xml version="1.0" encoding="ISO-8859-1" ?>
<LIBRARY>
<BOOK>
<TITLE>Professional JINI</TITLE>
<AUTHOR>Sing Li</AUTHOR>
<PUBLISHER>Wrox Publications</PUBLISHER>
</BOOK>
</LIBRARY>
.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no"/>
<!-- New line character variable -->
<xsl:variable name="newline">
<xsl:text> </xsl:text>
</xsl:variable>
<xsl:template match="/">
<xsl:for-each select="LIBRARY/BOOK">
<xsl:value-of select="TITLE"/>|<xsl:value-of select="AUTHOR"/>|<xsl:value-of select="PUBLISHER"/>
<xsl:value-of select="$newline"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Ceci est la sortie ...
Professional JINI|Sing Li|Wrox Publications
est-il un moyen d'obtenir les valeurs de titre, auteur, etc..from sans coder en dur les noms d'éléments xsl: value-of ? Nous voulons que ce XSL soit générique de sorte que si nous ajoutons plus d'attributs de livre plus tard, la feuille de style capturera automatiquement ces nouveaux champs.
Je veux que la sortie soit le même, mais je ne veux pas coder en dur les noms d'éléments xsl: value-of, je veux être plus générique pour soutenir un certain nombre d'éléments de livre. – raffian
J'ai essayé, et les valeurs correctes sont extraites, mais le format de sortie est foiré, ce n'est pas sur une seule ligne; c'est en fait similaire au Xml source; On dirait que l'espace blanc est tiré de la source; comment puis-je empêcher cela? – raffian
Je l'ai compris,
raffian