2011-05-13 8 views
5

Estoy usando XSLT para crear una página de salida HTML. Necesito agregar un tipo de documento a la página de salida. Busqué en Google y esto parece ser capaz de hacerlo funcionar:XSLT no puede agregar DOCTYPE utilizando xs: salida

<xsl:output 
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
/> 

por lo que añade a un archivo de transformación de prueba, transform.xsl:

<?xml version="1.0" encoding="ISO-8859-1"?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 

<xsl:output 
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
/> 

<xsl:template match="/"> 

<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
content! 
</body> 
</html> 

</xsl:template> 
</xsl:stylesheet> 

Pero la salida HTML no contiene una doctype .... El resto del ejemplo ... sale bien.

¿Qué estoy haciendo mal, por qué no se añade el tipo de documento?

Gracias!

EDIT: problema resuelto, estoy usando existe y parece que el XSL: instrucción de salida no va a funcionar, la solución: mailing list

Respuesta

1

puedo pensar en dos posibles respuestas

(a) su XSLT procesador no es conforme con la especificación, o

(b) su procesador XSLT no está haciendo la serialización del árbol de resultados, es algo más. Si la serialización se realiza por algo distinto al procesador XSLT (por ejemplo, si envía resultados a un DOM y luego utiliza el serializador DOM), entonces se ignorarán las propiedades de serialización XSLT.

Cuestiones relacionadas