Holge r: Remote XML Lokale XSL

Beitrag lesen

Ok, jetzt scheine ich dein Problem verstanden zu haben. Du solltest aber wissen, dass sich die processing-instruction beim abruf der xml vom server

<?xml-stylesheet type="text/xsl" href="file:///C:/temp/temperatur.xsl"?>

nach meinem Wissensstand auf das temp verzeichnis deines servers bezieht, und nicht auf dein lokales verzeichnis. Ich verstehe auch nicht ganz, warum du deine xsl nicht einfach mit auf den server legst, selbst wenn er langsam ist, der server muss nur die xml und die xsl weiterreichen, das parsen wird dann vom browser uebernommen, soweit dieser XML faehig ist. Siehe auch beispiel auf selfhtml.org hier <http://de.selfhtml.org/xml/darstellung/xsltbeispiele.htm#grussbeispiel@title=zweiter link des beispiels bzgl. xslt faehiger browser>. Die Last deines Servers duerfte nur minimal sein, wenn er das stylesheet mit bereitstellen muss, es sei denn du hast ein X MB grosses stylesheet, was aber eigentlich keinen sinn macht.

Wenn du aber wirklich nicht deine xsl files auf den server legen moechtest, kann du immer noch eine leere xml (mindestens ein knoten) lokal auf deinen rechner ablegen. Die verknuepfst du mit einer processing instruction auf ein lokales stylesheet. Im stylesheet rufst du dann einfach die xml datei vom server ab um wandelst die um, der unterschied ist dann lediglich, dass du anstatt die xml datei vom server, einfach eine lokale xml datei aufrufst. Also etwa so:

lokales XML File

<?xml version="1.0" encoding="ISO-8859-1"?>  
<?xml-stylesheet type="text/xsl" href="lokal.xsl"?>  
<empty/>

lokales XSL File

  
<?xml version="1.0" encoding="iso-8859-1"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
<xsl:template match="/">  
    <xsl:apply-templates select="document('http://serveraddress/server.xml')" mode="lokal-transform"/>  
</xsl:template>  
<xsl:template ..... mode="lokal-transform">  
.  
.  
.  
</xsl:template>  
</xsl:stylesheet>  

Gruss, H.