regenfeld: Zwei-Phasen-Transformation

Beitrag lesen

Hallo Thomas,

Nun, *hüstel* ich war wiedermal zu schusselig ;-)

<RootElement>
 <StandardArtikel>
  <artikel name="AllgemeinerStuhl">
   <beschreibung>Beschreibung zu AllgemeinerStuhl</beschreibung>
   <preis>10</preis>
   <lieferant>XYZ</lieferant>
  </artikel>
 </StandardArtikel>

<artikelliste>
  <artikel name="GelberStuhl">
   <beschreibung>Beschreibung zu GelberStuhl</beschreibung>
   <preis>10</preis>
   <lieferant>Möbel Mustermann</lieferant>
  </artikel>
  <artikel ref="AllgemeinerStuhl" />
  <artikel name="BlauerTisch">
    <beschreibung>Beschreibung zu BlauerTisch</beschreibung>
    <preis>20</preis>
    <lieferant>Möbel Huber</lieferant
  <artikel>
 </artikelliste>
</RootElement>

<xsl:template match='artikel/@ref'>

was 'wort wörtlich' genau »ref="AllgemeinerStuhl"« trifft, aber keine elemente.

du meinst wohl <xsl:template match="artikel[@ref]²>

Ja, meinte ich, flüchtigkeitsfehler ;-)

<xsl:template match="artikel[@ref]">
  <xsl:for-each select="/RootElement/StandardArtikel/artikel[@name={@ref}]">
     Artikel: <xsl:value-of select="@name" /><br />
     Preis: <xsl:value-of select="preis" />
  </xs:for-each>
xsl:template

Sodala, das sollte so nun aber hinhauen! Immer diese Test-Patterns *grmpf*

Aber gibts denn nun eine schönere Möglichkeit, *ohne* das For-Each Konstrukt. was ich mit meinem kleinen beispiel sagen wollte, hast du ja trotz der kleinen ... ähm ... umwege, ja sicherlich verstanden ;-)

lg bernhard