Hallo,
*Hm, geht teilweise. Wenn ich „Der vorgegebene Namensraum (wie durch xmlns deklariert) kann durch Einbindung von #default in die Liste der Namensraum-Präfixe als ausgeschlossener Namensraum gekennzeichnet werden“ richtig deute, sollte bei
<xsl:stylesheet version="1.0"
exclude-result-prefixes="#default foo"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:foo="http://example.net/foo#"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
> auch der XHTML-Namensraum nicht im Ergebnis stehen; tut es aber. Mein Fehler oder der des Prozessors?
>
Im XSLT 1.0 ist eher die der Spez. weil so missverständlich. wie auch immmer.
<?xml version="1.0" encoding="iso-8859-1"?>
<data xmlns="http://www.w3.org/1999/xhtml" xmlns:foo="http://example.net/foo#">
<text>blabla</text>
<foo:text>foo text</foo:text>
</data>
\------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:foo="http://example.net/foo#" xmlns:bar="http://www.w3.org/1999/xhtml" exclude-result-prefixes="bar foo">
<xsl:template match="/">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<h1>Text</h1>
<p><xsl:value-of select="bar:data/bar:text" /></p>
<p><xsl:value-of select="bar:data/foo:text" /></p>
\--------------
also muss du anstatt den default-Namensraum einen non-null-Namesraum definieren. Das machst du im Beispiel mit "bar", wobei das eigentlich wichtige ist, dass ein Namensraum \_durch die URL\_ und nicht durch den Prefix bestimmt wird.
Grüße
Thomas