Thomas J.S.: Namensraumangaben in Ausgabe

Beitrag lesen

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