2009-08-19 16 views
13

Come posso aggiungere il riferimento al foglio di stile con XSLT?inserisci <? Tag xml-stylesheet con xsl

Sto provando a eliminare alcuni grandi input XML con la prima trasformazione e ho bisogno della seconda trasformazione da applicare al client. Così il primo a trasformare deve emettere il riferimento corretto, ad esempio:

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

Per ricapitolare è XML> transform1 (server) -> XML> transform2 (client) -> HTML

L'unico modo che può farlo funzionare finora è utilizzando xsl: text disable-output-fuga e CDATA:

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

Sicuramente ci deve essere un metodo migliore.

+0

Link utile per quanto riguarda le istruzioni di elaborazione http://www.xml.com/pub/a/ 2000/09/13/xslt/index.html – Tomasz

risposta

17

Sulla base della specifica XSLT, Creating Processing Instructions:

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

creerebbe l'istruzione di elaborazione:

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

+1 - Probabilmente racchiuderei il valore in un '' e aggiungere interruzioni di riga per aumentare la leggibilità. – Tomalak

+0

Buona idea, modificata. Dovresti scrivere gli esempi nelle specifiche :) – legoscia

+0

Dato che la maggior parte degli esempi di codice nei white paper, nelle specifiche e nelle basi di conoscenza e così via servono come esempi di "codice valido", tendono ad avere troppo poco amore. – Tomalak

Problemi correlati