Hallo,
Vergiss die andere nachricht, da war ein fehler drin.
OK ;-)
So sehe mein xml und xsl file etwa aus. Im xsl verwende ich nur ein xsl:template
<?xml version="1.0" encoding="utf-8"?>
<root xmlns="http://www.xyz.org/instance" xmlns:link="http://www.xyz.org/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iso4222="http://www.xyz.org/iso4222" xmlns:abc="http://abc.org/int/2005">
<link:schemaRef xlink:type="simple" xlink:href="schema.xsd"/>
<versuch wahl="yes">8764386</versuch>
<!-- usw. usw. -->
.
.
.
</root>Wie gesagt, wenn ich <xsl:template match="*[@wahl='no']"> werden mir zwar werte angezeigt, aber alle nur hintereinander und sind auch nicht die ich brauche. Wo liegt da mein Fehler? Ich raffe es nicht.
Das/dein Problem ist zwar ähnlich wie unter https://forum.selfhtml.org/?t=112506&m=711655 besprochen.
Das Element <versuch> liegt im default Namensraum (xmlns="http://www.xyz.org/instance).
Auch bei dir gibt es die zwei Möglichkeiten (mit XSLT 1)
a) alle Elemente mit einem Prefix versehen (<foo:root xmlns:foo="http://www.xyz.org/instance"> ... foo:versuch ... etc.)
oder b)
du greifst auf die Elemente mit Namen zu *[local-name() = '...'][@wahl='no'], oder alternativ kannst du versuchen *[namespace-uri() = 'http://www.xyz.org/instance'][@wahl='no']
ABER, eigentlich sollte das bei dir auch ohne funktionieren. *
--------
<xsl:stylesheet version="1.0" xmlns="http://www.xyz.org/instance" ...> zusammen mit <html xmlns="http://www.xyz.org/instance"> ist eigentlich unnötig.
Bei: <xsl:stylesheet version="1.0" xmlns="http://www.xyz.org/instance" ...> enthält das Root-Element automatisch den entsprechenden Namensraum, oder du läßt es aus xsl:stylesheet weg und verwendest nur <html xmlns="http://www.xyz.org/instance">
------------------------------------------------
* So funktioniert es bei mir z.B.
XML:
<?xml version="1.0" encoding="utf-8"?>
<root xmlns="http://www.xyz.org/instance"
xmlns:link="http://www.xyz.org/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:iso4222="http://www.xyz.org/iso4222"
xmlns:abc="http://abc.org/int/2005">
<link:schemaRef xlink:type="simple" xlink:href="schema.xsd"/>
<versuch wahl="yes">8764386</versuch>
<!-- usw. usw. -->
</root>
------------------------------------------------
XSL:
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xyz="http://www.xyz.org/instance"
xmlns:iso4222="http://www.xyz.org/iso4222"
xmlns:abc="http://abc.org/int/2005"
xmlns="http://www.xyz.org/instance"
exclude-result-prefixes="abc iso4222 xyz">
<xsl:output method="html"/>
<xsl:decimal-format name="base" decimal-separator="." grouping-separator="," minus-sign="-"/>
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="*[@wahl='yes']">
<h1><xsl:value-of select="."/></h1>
</xsl:template>
</xsl:stylesheet>
------------------------------------------------
AUSAGABE:
<html xmlns="http://www.xyz.org/instance">
<body>
<h1>8764386</h1>
</body>
</html>
Grüße
Thomas