2010-08-01 18 views
0

J'ai un script xslt qui transforme un fichier xml en un autre fichier xml. Le problème que j'ai est que le fichier XML résultant ne se termine pas avec une nouvelle ligne comme un fichier linux bien comporté. J'utilise <xsl:output method="xml" indent="yes"/> pour que le code soit bien identifié.xslt produit un résultat qui ne se termine pas par un retour chariot (nouvelle ligne)

Existe-t-il un moyen de dire à xslt que c'est un mode Linux, et il devrait ajouter une nouvelle ligne à la fin de la sortie?

Merci, Anna

+0

Pouvez-vous expliquer quels problèmes vous avez quand le retour à la ligne final est manquant? – Tomalak

+0

Je pense que ce n'est pas un problème XSLT, mais un problème de prochaine étape, dans lequel il semble qu'il ne peut pas gérer les documents XML ... –

+0

Oui, en effet, c'est un problème de prochaine étape dans le pipeline. Je viens de fixer la prochaine étape, et laissez-le être. – Anna

Répondre

2

Si oui ou non un fichier XML se termine par un saut de ligne devrait être hors de propos.

Cependant, vous pouvez essayer d'ajouter une nouvelle ligne manuellement, avec l'équivalent de ceci:

<xsl:template match="/"> 
    <root> 
    <xsl:apply-templates select="other/processing" /> 
    </root> 
    <xsl:value-of select="'&#xA;'" /> 
</xsl:template> 

Si cela ne fonctionne pas pour votre processeur XSL (la nouvelle ligne se garni), vous devriez envisager de changer votre chaîne de traitement successives pour ignorer la nouvelle ligne "manquante".

+0

J'ai corrigé la prochaine étape dans le pipeline. Merci. – Anna

0

méthode Try = "text" et utiliser le code de saut de ligne (&#10;) où vous en avez besoin

+0

Cela n'a pas fonctionné pour moi. Si j'utilise method = "text", alors tout le xml que je produis disparaît. Si j'ajoute seulement le code de nouvelle ligne, alors il est ignoré. – Anna

Questions connexes