XML und XSLT

Sixty

Mitglied
Moin,

ich versuche gerade eine XSLT Datei mit einer XML Datei zu verknüpfen, so dass bestimmte Inhalte von den XML - Tags verändert ausgegeben werden. Glaube mein Ansatz ist falsch, doch vielleicht kann mir einer helfen.


XML Code:

Code:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> 
<?xml-stylesheet href="xslt3.xsl" type="text/xsl"?> 
<source>

<bold>Hello, world.</bold>
<red>I am </red>
<italic>fine.</italic>

</source>

XSL Code:

Code:
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="bold">
     <p>
          <b>
               <xsl:value-of select="."/>
          </b>
     </p>
</xsl:template>

<xsl:template match="red">
     <p style="color:red">
          <xsl:value-of select="."/>
     </p>
</xsl:template>

<xsl:template match="italic">
     <p>
          <i>
               <xsl:value-of select="."/>
          </i>
     </p>
</xsl:template>


</xsl:stylesheet>


Ich öffne dann die XSL Datei über den Browser und bekomme keine Ausgabe.
Ihr lacht bestimmt doch finde nichts dazu wie das funktionieren soll.

Danke
 

Sven Mintel

Mitglied
Moin,

Ich öffne dann die XSL Datei über den Browser und bekomme keine Ausgabe.
Ihr lacht bestimmt doch finde nichts dazu wie das funktionieren soll.

du solltest besser die XML-Datei im Browser öffnen ;)

Damit auch in jedem Browser (mit eingebautem XML-Parser) die gewünschte Ausgabe kommt, solltest du besser noch folgendes Template mit in die XSL tun:
Code:
<xsl:template match="/">
 <html>
 <head>
 </head>
 <body>
  <xsl:apply-templates />
 </body>
 </html>
</xsl:template>

Tust du es nicht, wird das Dokument je nach Browser weiterhin als XML gerendert .
Es erfolgt keine Formatierung der Ausgabe, da XML nur eine Datenstruktur ist.
Mit dem Template wird sichergestellt, dass das ganze zu einem HTML-Dokument transformiert wird und als solches auch entsprechend gerendert.

Übrigens: Da dies das Javascript-Forum ist:
Worin besteht der Javascript-Anteil an deiner Problematik, ist da noch etwas zu Erwarten?
Falls nicht, würde ich das Thema ins XML-Forum schieben :)
 

Sixty

Mitglied
Danke erstmal,

habe das XML Forum wohl übersehen, bei dem Forum stand noch :

"Asynchronous JavaScript and XML"

deswegen habe ich hier gepostet. Wie verschiebe ich das Thema jetzt ?

Okay habs jetzt so gemacht:

Code:
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>


<xsl:template match="/">
 <html>
 <head>
 </head>
 <body>
  <xsl:apply-templates />
 </body>
 </html>
</xsl:template>


<xsl:template match="bold">
     <p>
          <b>
               <xsl:value-of select="."/>
          </b>
     </p>
</xsl:template>

<xsl:template match="red">
     <p style="color:red">
          <xsl:value-of select="."/>
     </p>
</xsl:template>

<xsl:template match="italic">
     <p>
          <i>
               <xsl:value-of select="."/>
          </i>
     </p>
</xsl:template>


</xsl:stylesheet>

wenn ich dann die XML datei öffne, verändert sich jedoch nichts.
Also die Schrift wird ganz normal ausgegeben.
 
Zuletzt bearbeitet: