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
> <?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.
»»
Hallo
@Holger, wenn das so funktionieren würde hätte ich das sogar verstanden. Leider bekomme ich da diesen "Sicherheitsfehler vom Firefox.
Anscheinend ist es nicht möglich von einem lokalen XSL Zugriff mit
...select="document('http://localhostTestWeb/temperaturen.xml'....
zu bekommen.
==>Ausgabe Firefox Fehlerkonsole<===
Sicherheitsfehler: Inhalt auf file:///D:/atmel_PATZ/XML/lokal.xml darf keine Daten von http://localhost/TestWeb/temperaturen.xml laden.
==>Ausgabe Firefox Fehlerkonsole<===
Falls ich aber ==>http://localhostTestWeb/temperaturen.xml im Firefox eingebe wird die Temperatur XML problemlos vom Server geladen.
Irgendwo muß es da noch eine "Restrektion" geben. Wie schon erwähnt alles lokal ==>kein Problem und alles auf dem Server ==> auch kein Problem
Falls es noch Tipps gibt sind diese willkommen.
MfG
Achim
lokal.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="lokal.xsl"?>
<empty/>
lokal.xsl
<?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://localhost/TestWeb/temperaturen.xml')" mode="lokal-transform"/>
</xsl:template>
<xsl:template match="//*" mode="lokal-transform">
aha
</xsl:template>
</xsl:stylesheet>
Server temperaturen.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<test>
<ort>
<sensor>Wohnzimmer</sensor>
<temperatur>22,3 °C</temperatur>
</ort>
<ort>
<sensor>Keller</sensor>
<temperatur>10,3 °C</temperatur>
</ort>
<sensor>Speicher</sensor>
<temperatur>15,3 °C</temperatur>
<ort>
<sensor>Vorlauf</sensor>
<temperatur>67,3 °C</temperatur>
</ort>
</test>