Ceci est ma feuille de calcul XSL:XSL: pourquoi l'indentation ne fonctionne pas?
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:element name="outer">
<xsl:apply-templates select="elements"/>
</xsl:element>
</xsl:template>
<xsl:template match="element1">
<xsl:element name="output1">
<xsl:element name="output1.5" />
</xsl:element>
</xsl:template>
<xsl:template match="element2">
<xsl:element name="output2"/>
</xsl:template>
</xsl:stylesheet>
XML Entrée:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<elements>
<element1>value1</element1>
<element2>value2</element2>
</elements>
La sortie est pas en retrait selon la hiérarchie XML de sortie. Ceci est la sortie réelle (notez comment output1.5 et output1 ne sont pas correctement indentées):
<outer>
<output1>
<output1.5/>
</output1>
<output2/>
</outer>
Vous devez utiliser un processeur XSLT 2.0 buggy. Avec tous les processeurs XSLT 2.0 j'ai: Saxon 9.1.05, Saxon 9.4.06EE, XQSharp (XmlPrime) et Altova 2012 Je reçois des résultats indentés –
Quel processeur XSLT 2.0 utilisez-vous? Comment gérez-vous la transformation, comment sauvegardez-vous le résultat et regardez-le? –
J'utilise javax.xml.transform pour exécuter la transformation, avec toutes les configs par défaut. Comment puis-je vérifier quel processeur utilise cette bibliothèque Java? – zer0stimulus