# Einstieg in Xalan



## The_S (8. Apr 2009)

Hi-Ho,

ich spiele gerade ein wenig mit Xalan-J herum. Zum Test möchte ich ein kleines XML in ein HTML-Dokument konvertieren. Dabei hab ich einfach mal willkürlich folgende XSL aus dem Netz kopiert:

[HIGHLIGHT="xml"]<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/TR/WD-xsl'>

<xsl:template match='/'>
 <html>
  <head>
   <title>Adressliste</title>
  </head>
  <body>
   <table cellpadding='20' cellspacing='20'>
    <xsl:for-each select='CONTACTLIST/CONTACT'>
     <tr>
      <td bgcolor='gold'>
       <b><xsl:value-of select='NAME' /></b><br/>
       <xsl:value-of select='ADDRESS' /><br/>
       <xsl:value-of select='MAIL' /><br/>
       <xsl:for-each select='PHONE'><br/>
        <xsl:value-of select='@type' />:
        <xsl:value-of select='.' />:<br/>
       </xsl:for-each>
      </td>
     </tr>
    </xsl:for-each>
   </table>
  </body>
 </html>
</xsl:template>

</xsl:stylesheet>[/HIGHLIGHT]

Rufe ich jetzt in Java folgendes auf:

[HIGHLIGHT="Java"]TransformerFactory.newInstance().newTransformer(new StreamSource("Z:/adressliste.xsl"));[/HIGHLIGHT]

erhatle ich die Konsolenausgabe


```
file:///C:/adressliste.xsl; Zeilennummer2; Spaltennummer71; stylesheet erfordert das Attribut version.
```

Versteh ich nicht, "version" steht doch drin!? Ich muss allerdings dazu sagen, dass ich mich vorher nicht mit XSL oder Xalan auseinander gesetzt habe. Kann mir jemand auf die Sprünge helfen!? 

Danke!


----------



## Ebenius (8. Apr 2009)

Wenn ich das StyleSheet durch Saxon werfe, sagt der mir: 
	
	
	
	





```
XTSE0165: Saxon is not able to process Microsoft's WD-xsl dialect
```
Der richtige XSL Namespace lautet: 
	
	
	
	





```
http://www.w3.org/1999/XSL/Transform
```
Geht's damit? Keine Ahnung was Xalan da genau macht. Probier mal!

Ebenius


----------



## The_S (8. Apr 2009)

Jop, läuft. Danke. Das kommt davon, wenn man immer nur copy&pasted  .


----------



## Ebenius (8. Apr 2009)

Tipp: Zum Testen (zumindest unter Linux) hilft Saxon (in der Shell) oft, um die Fehler in einem XSL zu finden. Als ganz kurze Einleitung rund um die Web-Technologien nutze ich gern die W3Schools. Die Tutorien sind sehr knapp und helfen meist nicht weit, wenn's an's Eingemachte geht. Aber sie geben einen guten Überblick, wie/wo alles anfängt.

Ebenius


----------



## The_S (8. Apr 2009)

Danke, werde ich mir ansehen


----------



## The_S (8. Apr 2009)

Mal ne blöde Frage:

Habe gerade festgestellt, dass Java ab JRE 1.4 ohnehin Xalan als XSLT-Prozessor einsetzt. Heißt, ich muss die Pakete eigentlich gar nicht mitliefern. Trifft das für MAC und dem openJDK auch zu (sind ja oftmals zwei Extrawürste  )? Weißt das zufällig jemand? Hab leider keinen MAC zum Testen ...  . Also ich vermute doch mal stark "ja", aber brauch das aus zuverlässiger und sicherer Quelle  .

Danke!


----------

