2009-09-14 6 views
1

J'ai un XSLT que je saisis dans une application tierce. Cette application affiche le résultat de cette XSLT en tant que page Web dans leur application.Comment intégrer le contenu d'un document HTML externe à l'aide de XSLT?

J'ai un document HTML dynamique que je veux afficher dans cette application. Comment puis-je "lire" le document HTML via un document XSLT de sorte que chaque fois que le document html est mis à jour, le XSLT lira le nouveau fichier?

Si je ne suis pas clair, de transmettre l'idée, mon xslt lirait quelque chose comme ceci:

<xsl:stylesheet> 
    <xsl:output method="html"/> 

    <xsl:template match="Something"> 
     <!-- Stuff is done here --> 
    </xsl:template> 

    <xsl:ReadExternalDocument filePath="my/path/document.html" /> 
</xsl:stylesheet> 

Je suis venu dans la fonction Document(), mais il semble détruire mes tags. C'est-à-dire, je voudrais inclure les balises enfant de l'élément parent dans la sortie.

+0

Pour lire un fichier externe, la fonction 'document()' est la bonne façon de procéder. Le HTML classique ne fonctionnera pas, vous devez fournir une entrée XML. Pourriez-vous élaborer ce que signifie "détruire mes balises"? – Tomalak

+0

@Tomalak - Je veux inclure les balises enfant de l'élément parent dans ma sortie. –

Répondre

4

Comme l'a suggéré Tomalak, la fonction de document est la voie à suivre. J'ai lu dans le document HTML externe en utilisant le document() avec le nœud copy-of. copy-of fait une copie profonde, y compris les balises, pour obtenir l'ensemble du document HTML externe. Le code ressemble à ceci:

<xsl:stylesheet ... > 
    <xsl:output method="html"/> 

    <xsl:template match="/"> 
     <xsl:copy-of select="document('ExternalDocument.html')" /> 
    </xsl:template> 
</xsl:stylesheet> 
Questions connexes