¿Por qué Saxon no produce ninguna salida de archivo?
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?
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.