按属性选择一个带子节点的XML节点

时间:2013-09-25 09:12:32

标签: html xml xslt composite

我有点问题。我需要一个节点的数据,包括它的子节点。节点具有名为id的属性。

当我使用xsl:template时,如何选择我需要的节点?

以下是我使用的XML示例:

<Seminar id="1" xmlns="">
        <Name>Eintägiges Meditations-Seminar </Name>
        <Seminartext>&lt;div class=&quot;ExternalClassEC5CACB3C1AD43F8AA5D2228F51FEE6E&quot;&gt;&lt;p&gt;Die Meditation ist…&lt;br&gt;… mehr als nur eine Form des Innehaltens, sie ist mehr als&lt;br&gt;eine innere Einkehr, mehr als eine Technik, mit der man zur&lt;br&gt;Ruhe kommt. Wir stehen nicht mehr im Mittelpunkt, sondern&lt;br&gt;wenden uns von uns selber – von unseren Sorgen, Ängsten&lt;br&gt;und Nöten, aber auch von unseren Ambitionen, ja selbst von&lt;br&gt;unseren guten Intentionen - ab und stellen uns bewusst der&lt;br&gt;Wirklichkeit, die viel größer ist als wir und selbst als unsere&lt;br&gt;kühnsten Gedanken. Es ist, als wenn wir bei der Betrachtung&lt;br&gt;unseres Lebensbildes ein Stück von der Tafel zurücktreten,&lt;br&gt;um das gesamte Bild besser in den Blick zu bekommen. Somit&lt;br&gt;ist die Meditation auch der Versuch, uns selbst „in Perspektive&lt;br&gt;zu stellen“. Religiös gesprochen öffnen wir uns in&lt;br&gt;der Meditation der alles umfassenden Wahrheit Gottes. Das&lt;br&gt;ist befreiend und hilft gerade auch oft Menschen, die zwar&lt;br&gt;ehrlich suchen, aber in ihrem Gebetsleben eine gewisse Dürre&lt;br&gt;und Trockenheit durchleben. Die Praxis der Meditation wird&lt;br&gt;dann von vielen als wohltuend empfunden. Sie kann den Menschen&lt;br&gt;gerade in der heutigen Zeit helfen, zu innerer Ruhe&lt;br&gt;und Ausgeglichenheit zu finden. Am Ende besteht auch die&lt;br&gt;Chance, dass wir die Gabe der Unterscheidung schärfen und&lt;br&gt;sogar zu besseren Entscheidungen kommen. Menschen, die&lt;br&gt;meditieren, berichten häufig, dass sie gelassener und ausgeglichener&lt;br&gt;werden. Am Ende ist dies auch eine Frage gesunder&lt;br&gt;Lebensführung. &lt;strong&gt;Deshalb können vor allem auch Entscheidungsträger&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;in verantwortlichen Positionen in der Meditation&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;Kraft und Orientierung finden. Sie ist ein Angebot für alle, die&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;ihr Gebetsleben auffrischen wollen und darin auch Antworten&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;auf die ganz praktischen Probleme des Alltags suchen.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;Die Vorträge während des Seminars hält Frau &lt;strong&gt;Kim Nataraja&lt;/strong&gt;&lt;br&gt;von der &lt;strong&gt;Weltgemeinschaft für Christliche Meditation&lt;/strong&gt;&lt;br&gt;(www.wccm.org). Sie war früher Hochschuldozentin für moderne&lt;br&gt;Sprachen, heute ist sie Direktorin der internationalen&lt;br&gt;Schule der Weltgemeinschaft für Christliche Meditation in&lt;br&gt;London. Sie ist Autorin des Buches „Dancing with your Shadow“,&lt;br&gt;Herausgeberin und Co-Autorin des Buches „Journey&lt;br&gt;to the Heart – Christian Contemplation through the centuries&lt;br&gt;– an illustrated guide“ sowie Mitgestalterin am interreligiösen&lt;br&gt;Dialog im Rahmen der Initiative „Way of Peace“ mit&lt;br&gt;dem Dalai Lama.&lt;br&gt;&lt;br&gt;Die Vorträge werden in &lt;strong&gt;deutscher Sprache&lt;/strong&gt; gehalten. Das Seminar&lt;br&gt;wird organisatorisch vom Vorsitzenden der Academie&lt;br&gt;Kloster Eberbach, Marcus Lübbering, betreut. Es wird in&lt;br&gt;Kooperation mit dem RKW Hessen Rationalisierungs- und&lt;br&gt;Innovationszentrum der Wirtschaft e. V. durchgeführt.&lt;br&gt;&lt;/p&gt;&lt;/div&gt;</Seminartext>
        <Programm>&lt;div class=&quot;ExternalClassB1AC2A7AB508444BB4D38D4F40D2B8D8&quot;&gt;&lt;table width=&quot;100%&quot; cellspacing=&quot;0&quot; class=&quot;ms-rteTable-default&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;ms-rteTableEvenRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot; style=&quot;width&amp;#58;50%;&quot;&gt;9.30 Uhr​&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot; style=&quot;width&amp;#58;50%;&quot;&gt;​Begrüßung und Einführung&lt;br&gt;Marcus Lübbering&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableOddRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Grußwort&lt;br&gt;Sascha Gutzeit, RKW Hessen&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableEvenRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​10.00 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Vortrag&amp;#58;&lt;br&gt;„ Meditation – eine Antwort auf unsere&lt;br&gt;Probleme in der heutigen Welt?“&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableOddRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​11.00 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Kaffeepause&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableEvenRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​11.30 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Vortrag&amp;#58;&lt;br&gt;„Meditation als neue alte Lösung“&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableOddRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​12.30 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Meditationszeit&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableEvenRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​13.00 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;Imbiss&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableOddRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​14.15 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Themen (Erarbeitung in Kleingruppen)&lt;br&gt;und Antworten (im Plenum)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableEvenRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​16.00 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Abschlusskaffee mit Austausch&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableOddRow-default&quot;&gt;&lt;td class=&quot;ms-rteTableEvenCol-default&quot;&gt;​16.30 Uhr&lt;/td&gt;&lt;td class=&quot;ms-rteTableOddCol-default&quot;&gt;​Meditationszeit&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;ms-rteTableFooterRow-default&quot;&gt;&lt;td rowspan=&quot;1&quot; class=&quot;ms-rteTableFooterEvenCol-default&quot;&gt;​17.00 Uhr&lt;/td&gt;&lt;td rowspan=&quot;1&quot; class=&quot;ms-rteTableFooterOddCol-default&quot;&gt;​Ende des Seminars und&lt;br&gt;Möglichkeit zu persönlichen Fragen&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</Programm>
        <Datum>30.10.2013 23:00:00</Datum>
        <Kosten>&lt;div class=&quot;ExternalClass47BDE88ABE304276B9CF19DBB86C56F9&quot;&gt;&lt;p&gt; je nach Selbsteinschätzung zwischen 50,- und 150,- Euro. &lt;/p&gt;&lt;/div&gt;</Kosten>
        <Seminarleiter>Kim Nataraja, London Weltgemeinschaft für Christliche Meditation</Seminarleiter>
        <Anmeldeschluss>22.10.2013 22:00:00</Anmeldeschluss>
        <PDF>http://192.168.10.30:12000/media/73c6ab3f-3b2c-4de4-8bf8-aae8014f8bb1/-1079363063/PDF-Dateien/Einladungsflyer%20Meditations-Seminar%202013.pdf</PDF>
    </Seminar>
    <Seminar id="2" xmlns="">
        <Name>Test</Name>
        <Seminartext>&lt;div class=&quot;ExternalClass687E629C238349BB81D317CC51A47E6A&quot;&gt;TEst&lt;p&gt;​&lt;/p&gt;&lt;/div&gt;</Seminartext>
        <Programm>&lt;div class=&quot;ExternalClassBE4ABC2BC486407FAC83EB6F15F952CB&quot;&gt;TEst&lt;p&gt;​&lt;/p&gt;&lt;/div&gt;</Programm>
        <Datum>16.07.2014 22:00:00</Datum>
        <Kosten>&lt;div class=&quot;ExternalClass760FA47ECB3245A1952D85DAF58688D7&quot;&gt;&lt;p&gt;​fhfghfg&lt;/p&gt;&lt;/div&gt;</Kosten>
        <Seminarleiter>hfghfghfghfgh</Seminarleiter>
        <Anmeldeschluss>24.06.2014 22:00:00</Anmeldeschluss>
        <PDF>fsdfsdfsdf</PDF>
    </Seminar>

有人可以帮助我吗?

非常感谢 Jörn-Dennis Heldt

1 个答案:

答案 0 :(得分:0)

问题实际上是关于XPath而不是XSL。

为了处理按其属性值选择它的节点,您需要使用以下格式:/path/to/the/node[attribute='value to match']

在您的情况下,它看起来像:

<xsd:template match="Seminar[id='1']">
    <!-- some processing -->
</xsd:template>