2009-08-19 18 views
13

¿Cómo puedo agregar una referencia de hoja de estilo con XSLT?inserte la etiqueta <? Xml-stylesheet con xsl

Estoy tratando de desforrar un gran XML de entrada con la primera transformación, y necesito que se aplique la segunda transformación en el cliente. Así, la primera tiene que transformar salida de la referencia correcta, por ejemplo:

<?xml-stylesheet type="text/xsl" href="client.xsl"?> 

Para recapitular es XML> transform1 (servidor) -> XML> transform2 (cliente) -> HTML

La única manera que puede hacer que funcione hasta el momento es el uso de XSL: texto disable-output-escape y CDATA:

<xsl:text disable-output-escaping="yes"><![CDATA[<?xml-stylesheet type="text/xsl" href="/efo/efo_class.xsl"?>]]>

Seguramente debe haber un método mejor.

+0

enlace útil con respecto a las instrucciones de procesamiento http://www.xml.com/pub/a/ 2000/09/13/xslt/index.html – Tomasz

Respuesta

17

Basado en la especificación XSLT, Creating Processing Instructions:

<xsl:processing-instruction name="xml-stylesheet"> 
    <xsl:text>type="text/xsl" href="client.xsl"</xsl:text> 
</xsl:processing-instruction> 

crearía la instrucción de procesamiento:

<?xml-stylesheet type="text/xsl" href="client.xsl"?> 
+1

+1 - Probablemente envolvería el valor en un '' y agregaría saltos de línea para aumentar la legibilidad. – Tomalak

+0

Buena idea, editado. Debería escribir los ejemplos en la especificación :) – legoscia

+0

Dado que la mayoría de los ejemplos de código en white papers, especificaciones y bases de conocimiento, etc. sirven como ejemplos de "código bueno", tienden a recibir demasiado poco amor. – Tomalak

Cuestiones relacionadas