[XSLT] Benader een element binnen zelfde parent

Pagina: 1
Acties:

  • pthn
  • Registratie: Februari 2003
  • Laatst online: 31-07-2023
Ik probeer de ene XML structuur te vertalen in een andere, in de bron:

een groot aantal items met steeds een unieke waarde voor name
XML:
1
2
3
4
5
6
7
<subrecord id="3277">
  <element>175</element>
  <name>txt_Country</name>
  <title>Country</title>
  <type>Text</type>
  <value>Nederland</value>
</subrecord>

in het doel wil ik

XML:
1
<COL><DATA>de waarde van 'value' wanneer 'name' = 'txt_Country' </DATA></COL>


Eerste deel van het vraagstuk los ik op met:

XML:
1
<xsl:if test="subrecord/name='txt_Country'"></xsl:if>

nu moet ik nog de waarde van 'value' binnen het IF statement krijgen
XML:
1
<xsl:value-of select="following::value" />

werkt echter niet (ook nog wat varianten geprobeerd, maar die keuze kan ik (ook) niet onderbouwen.

Weet iemand hoe ik dit wél voor elkaar krijg?

[ Voor 2% gewijzigd door pthn op 18-06-2007 07:42 . Reden: vraag vergeten ]


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Was dat niet met die vierkante haken?

XML:
1
<xsl:if test="subrecord[name='txt_Country']"></xsl:if>


Volgens mij was het zoiets...

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Volgens mij moet je dan net nog je Node selecteren:
XML:
1
<xsl:if test="/subrecord[name='txt_Country']/value"></xsl:if>

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Je kan die if ook in een for-each stoppen:
XML:
1
<xsl:for-each select="subrecord[name='txt_country']">


Afhankelijk van hoe je 'template match' criterium is opgesteld, zal je trouwens ook het root element van de XML voor de 'subrecord' moeten vermelden.

[ Voor 40% gewijzigd door Confusion op 18-06-2007 08:45 ]

Wie trösten wir uns, die Mörder aller Mörder?


  • pthn
  • Registratie: Februari 2003
  • Laatst online: 31-07-2023
Dit was inderdaad het duwtje in de juiste richting wat ik nodig had,

met
XML:
1
<xsl:value-of select="subrecord[name='txt_Country']/value" />


kan ik de waarde keurig uitlezen.

thnx