Forum: PC-Programmierung XML/XSLT Problem


von Sucher (Gast)


Lesenswert?

Hallo Zusammen,

ich habe schon in anderen Foren gesucht und auch gegurkelt aber noch 
keine Lösung gefunden. Der Hindergrund dieser Frage ist, ich möchte auf 
einem AVR Webserver möglichst einefache XML Antworten erzeugen und dann 
auf dem lokalen System mit einem Stylesheet transformieren. Bei den 
früheren Netscape Versionen ging das auch....aber das Sichheitsdenken 
hat fortschritte gemacht. Noch bin ich überzeugt, dass es irgend eine 
(Sicherheits)_einstellung im Firefox 3 gibt, dass sowas geht. Die Frage 
ist wie?
Bin für jeglichen Tipp dankbar
Achim
Ps.: Selbst das absetzen im Forum ist so nicht möglich...bei h_ref muß 
der Underscore raus..
Problem:

Ich habe ein folgendes kleines (?) Sicherheitsproblem im Firefox 3. Das 
ist auch gut so, aber in meinem Falle schlecht! Ich habe eine XML 
Infodatei die ich mit einem XSL Stylesheet nach HTML transformiere. 
Lokal und Remote ist das kein Problem. Wenn ich aber die XML Datei vom 
Server lade und auf eine lokale XSL Datei zugreifen möchte 
zB.:..."file:///C:/temp/temperatur.xsl".... bringt mir (zurecht!) die 
Firefox Fehlerkonsole eine Sicherheitsmeldung, dass man auf den lokalen 
File nicht zugreifen darf.
Ist das grundsätzlich nicht möglich?

Bin für jegliche Tipps (Links) dankbar.

Beispiel: (XML)vom Server:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" h_ref="<?xml version="1.0" 
encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" 
h_ref="file:///C:/temp/temperatur.xsl"?>
<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>

Lokale XSL Datei:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">;
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>

<xsl:template match="/">
  <html>
  <body>
  <center>
  <h2>TEST Transformator</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th align="left">Beschreibung</th>
        <th align="left">Temperatur</th>
      </tr>
      <xsl:for-each select="test/ort">
      <tr>
        <td><xsl:value-of select="sensor"/></td>
        <td><xsl:value-of select="temperatur"/></td>
      </tr>
      </xsl:for-each>
    </table>
    </center>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

von Werner B. (Gast)


Lesenswert?

Vielleicht hilft dir der folgende Link weiter.

http://www.mozilla.org/projects/xslt/faq.html

von Werner B. (Gast)


Lesenswert?

Ein wenig gurgeln und...

>Here's the solution:
>
>1) type about:config in the address bar
>2) change security.fileuri.strict_origin_policy to false
>


Reference:
http://forums.mozillazine.org/viewtopic.php?f=25&t=670995

Wie immer: Ohne Garantie, aber Rückmeldung wäre schön.

von Sucher (Gast)


Lesenswert?

Hallo

@Werner vielen Dank fürs "gurgeln"..jedoch ist das was anderes

==>http://kb.mozillazine.org/Security.fileuri.strict_origin_policy

>>False

>>Local documents have access to all other local documents, including >>directory 
listings.

Nochmals meine Problem:

Ich lade von einem Server ein XML und möchte das mit einem lokalen 
Styleshet transformieren.

Die obige "policy" erlaubt nur, das lokale Stylesheets auf andere 
Direktorys zugreifen kann.

Momentan glaube ich dass sowohl xml als auch xsl von der gleichen 
"quelle"  kommen müssen. Beide auf dem Server geht...beide local geht.

Viele Grüße
Achim

von Peter (Gast)


Lesenswert?

Kannst du nicht auf deinem Rechner ein webserver laufen lassen, und 
dieser liefert die xsl direkt aus und die xml hohlt er als proxy vom 
AVR.
Für den Brower sieht es dann so aus als ob alles von einer quelle kommt.

Warum überhaupt den Umweg über das xml? kann der AVR nicht gleich HTML 
erzeugen und gut ist?

von Sucher (Gast)


Lesenswert?

Hallo

@Peter warum das Ganze? Auf dem AVR sind die Resourcen beschränkt und 
ich möchte da nur die Messdaten als XML ausgeben. Das ist relativ 
einfach und Speicherplatz schonend. Die Darstellung (Grafik,Wandlungen 
etc) im Webbrowser ist dann um das in ansprechender Form darzustellen.
Ich trenne damit den Inhalt von den Daten und kann die Darstellung 
leicht ändern ohne den AVR (Messprogramm) zu ändern, was etwas 
aufwändiger ist. Mit einem IIS mit apx und C# ist da natürlich kein 
Problem.

Das mit dem Proxyserver geht natürlich auch, aber das ist ein "anderer" 
Lösungsansatz. Ich möchte nicht immer eine Proxyserver am laufen halten.

MfG
Achim

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.