XPath greift nicht in HTML-Dokument
Willi Wutz
- xsl
0 MudGuard
N'Abend,
ich möchte aus HTML-Code Elemente herausfiltern, bekomme es aber nicht einmal gebacken, auf mir nachvollziehbare Art und Weise das oberste Element, also <html> anzusprechen, geschweige denn beispielsweise alle <h1>-Elemente auszufiltern.
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
</head>
<body>
<h1>Erste</h1>
<h1>Zweite</h1>
<p>Will ich nicht sehen</p>
</body>
</html>
XSLT-Kram dazu:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:template match="[siehe unten]">
bla <xsl:value-of select="." /> fasel
</xsl:template>
</xsl:transform>
Folgende Ergebnisse bekomme ich:
<xsl:template match="/"> bla Erste Zweite Will ich nicht sehen fasel
<xsl:template match="html"> ErsteZweiteWill ich nicht sehen
<xsl:template match="/html"> ErsteZweiteWill ich nicht sehen
<xsl:template match="//h1"> ErsteZweiteWill ich nicht sehen
<xsl:template match="h1"> ErsteZweiteWill ich nicht sehen
Mir ist alleine schon schleierhaft, warum ich zwar mit "/" auf <html> zugreifen kann, aber nicht mit "html", vom Rest mal ganz zu schweigen.
Ich weiß auch nicht, warum alle Elementinhalte ausgegeben werden. Ich hatte bei den SELFHTML-Beispielen im XML-Teil ein weiteres, im XSLT-Teil nicht angesprochenes Element eingefügt, das wurde nicht ausgegeben.
Vielleicht kann mir das jemand verständlich erklären. Danke.
Hi,
Ich weiß auch nicht, warum alle Elementinhalte ausgegeben werden.
Weil Du das Default-Template nicht überschrieben hast.
cu,
Andreas
Ich weiß auch nicht, warum alle Elementinhalte ausgegeben werden.
Weil Du das Default-Template nicht überschrieben hast.
Und das bedeutet bitte? Den Begriff Default-Template kann ich auf den SELFHTML-Seiten nicht finden.