2010-04-20 12 views
8

La entrada a mi XSL es un XHTML. Después de aplicar el XSL, la declaración DOCTYPE que estaba presente en la entrada XHTML se pierde en la salida. ¿Tengo una opción para copiar/retener la declaración DOCTYPE en la salida usando XSL? El procesador XSL que estoy usando es SAXON.Declaración DOCTYPE que se pierde al utilizar XSL

+0

Me encantaría anunciar una respuesta para hacerlo automáticamente en xslt-1.0. – Jarekczek

Respuesta

11

Agregar una directiva de 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 cierto, las directivas pila de salida - puede tener como muchos de ellos como quiera.

+0

Si la entrada xhtml tenía el DOCTYPE Si configuré el DOCTYPE como se muestra arriba, terminaré configurando el DOCTYPE del resultado como ¿Hay alguna forma de obtener el DOCTYPE de la entrada en la salida? – Rachel

+1

@ Rachel: Hm ... no es fácil. No conozco un forma de hacerlo en XSLT 1.0. ¿Qué versión de XSLT usa? Esta página indica que hay una forma de hacerlo en XSLT 2.0: http://www.biglist.com/lists/lists.mulberrytech.com/xsl-list /archives/200807/msg00398.html – Tomalak

+0

Uso XSL 2.0. Comprobaré el enlace – Rachel

Cuestiones relacionadas