Raptor: Wie kann ich einen bestimmten Knoten ansprechen?

Hallo,

ich benötige einen kleinen Einstieg in die Thematik XSL und würde mich freuen, wenn ihr mir kurz helfen könntet.
Ich habe ein XML-File, welches automatisch generiert wird. Ich möchte dieses nun ordentlich ausgeben und komme noch nicht ganz zurecht mit XSL. Ist es mir möglich, einen Knoten direkt anzusprechen? Wie könnte ich z.B. den "Wert" eines jeden Normteiles ausgeben? Leider wird das Normteil später komplett unterschiedlich benannt. Auch das Tag "TempName" wird immer ein anderes sein...

Über ein kurze Beispieldatei würde ich mich sehr freuen.

Vielen Dank schon mal für die Hilfe!!!

<?xml-stylesheet href="mk.xsl" type="text/xsl"?>  
<TempName>  
	<Dateieigenschaften Aktualisiert="" Geöffnet="nein" Gültigkeit=""/>  
	<Versionsgeschichte/>  
	<Normteil.1>  
		<Vollständigkeit>  
			<Wert>0 %</Wert>  
		</Vollständigkeit>  
		<Entwicklerdaten>  
			<Name>Benjamin Suckow</Name>  
			<Abteilung>12345</Abteilung>  
		</Entwicklerdaten>  
		<Drehmoment>  
			<Vorschlag_M>2 Nm</Vorschlag_M>  
		</Drehmoment>  
		<Normteilinformationen>  
			<NT_Nummer>12345</NT_Nummer>  
		</Normteilinformationen>  
	</Normteil.1>  
	<Normteil.2>  
		<Vollständigkeit>  
			<Wert>0 %</Wert>  
		</Vollständigkeit>  
		<Entwicklerdaten>  
			<Name>Benjamin Suckow</Name>  
			<Abteilung>12345</Abteilung>  
		</Entwicklerdaten>  
		<Drehmoment>  
			<Vorschlag_M>2 Nm</Vorschlag_M>  
		</Drehmoment>  
		<Normteilinformationen>  
			<NT_Nummer>98765</NT_Nummer>  
		</Normteilinformationen>  
	</Normteil.2>  
</TempName>  

  1. Hi,

    Du muesstest dir wirklich zuerst die Grundlagen aneignen, insbesondere XPath zum "ansprechen" der Knoten. Die Grundlagen werde hier bei selfhtml.org sehr anschaulich und einfach erklaert, ist wirklich nicht schwierig. Du koenntest zum Beispiel den Normteil Knoten ansprechen, indem du den Namen des Knoten auf Inhalt ueberpruefst. Deine XML quelle solltest du aber hinsichtlich der Knotennamen verbessern.

    Beispiel wie du Normteil ansprechen kannst mit XPath:
    <xsl:for-each select="/TempName/*[contains(local-name(),'Normteil')]">
        .....
    </xsl:for-each>

    oder

    <xsl:for-each select="//*/Entwicklerdaten/parent::*">
        .....
    </xsl:for-each>

    Wie gesagt, die Grundlagen von XPath und XSL sollten es schon sein, damit man weiss, im welchen context sich die abfragen bewegen.

    Gruss, holge r