Willi Wutz: XPath greift nicht in HTML-Dokument

Beitrag lesen

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.