Pregunta

Los analizadores XSLT deben producir un archivo vacío incluso si no hay una salida de texto explícita. Sin embargo, tengo una situación en la que Saxon-he 9.3 no produce ninguna salida de archivo en absoluto.

Compilé los archivos usando este comando:

Transform -s:1.xml -xsl:2.xsl -o:3.html

Por el cual el contenido de 1.xml es:

<?xml version="1.0"?>
<!-- greeting.xml -->
<x>
<greeting>1</greeting><greeting>2</greeting>
</x>

Y el contenido de 2.xsl es:

<?xml version="1.0"?>
<!-- greeting3.xsl -->
<xsl:stylesheet version="2.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>

  <xsl:template match="/"/>
</xsl:stylesheet>

Sin embargo, no hay salida (ni siquiera un archivo vacío). Tampoco hay ningún mensaje de error.

¿Cuál podría haber sido el problema?

¿Fue útil?

Solución 2

Es probable que sea un error o un problema de "privilegios insuficientes".

Cuando los archivos 1.xml, 2.xsl, y Transform.exe se encuentran en el escritorio, no hay problemas con la salida.

Pero cuando los archivos están en C:\, da un mensaje de error:

No se pudo crear el archivo de archivo de salida:/c: //3.html: se niega el acceso a la ruta 'c: 3.html'.

Sin embargo, por alguna razón, cuando los archivos están en C:\Program Files\Saxonica\SaxonHE9.3N\bin, hay no producción y no mensaje de error.

Otros consejos

Es perfectamente posible que una transformación sea 100% correcta y, sin embargo, no produzca salida. Aquí hay un ejemplo de hoja de estilo que hace exactamente eso:

<xsl:template match="/"/>

Entonces, la conjetura es que hay un error en su código, y si desea que lo ayudemos a encontrarlo, deberá mostrarnos su código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top