Einstieg in Xalan

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
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

Code:
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

Top Contributor
Wenn ich das StyleSheet durch Saxon werfe, sagt der mir:
Code:
XTSE0165: Saxon is not able to process Microsoft's WD-xsl dialect
Der richtige XSL Namespace lautet:
Code:
http://www.w3.org/1999/XSL/Transform
Geht's damit? Keine Ahnung was Xalan da genau macht. Probier mal!

Ebenius
 

Ebenius

Top Contributor
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

Top Contributor
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!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben