[XML/XSLT] template match

Pagina: 1
Acties:

  • kmmartins
  • Registratie: Maart 2003
  • Laatst online: 11-03-2024
Ik heb de volgende XML code (een klein gedeelte ervan)
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 

                <NUM>
            
                    <conceptNameCodeSequence>
                        <codeValue> 8302-2 </codeValue>
                        <codingSchemeDesignator> LN </codingSchemeDesignator>
                        <codeMeaning> Patient Height </codeMeaning>
                    </conceptNameCodeSequence>
                    <measuredValueSequence>
                        <numericValue> 1.8 </numericValue>
                    </measuredValueSequence>
                </NUM>
                <NUM>
                    
                    <conceptNameCodeSequence>
                        <codeValue> 29463-7 </codeValue>
                        <codingSchemeDesignator> LN </codingSchemeDesignator>
                        <codeMeaning> Patient Weight </codeMeaning>
                    </conceptNameCodeSequence>
                    <measuredValueSequence>
                        <numericValue> 80 </numericValue>
                    </measuredValueSequence>
                </NUM>


En nu wil patient height weten, wat 1.8 is

XML:
1
2
 
<xsl:apply-templates select="NUM[@codeValue =' 8302-2']"/>


De code value vertel wat voor waarde er staat (codeMeaning kan in een andere taal zijn)

Vervolgens hetmatch gedeelte:

XML:
1
2
3
  <xsl:template match="NUM[codeValue]">
    <xsl:value-of select="measuredValueSequence/numericValue"/>
  </xsl:template>


Het probleem is dat de template niet wordt geladen.
Ik heb ook NUM, NUM/* geprobeerd, zonder effect dus.

Weet iemand welke match in zou moeten gebruiken?
Of moet ik het helemaal anders aanpakken?

Verwijderd

Ik snap de vraag niet.
Wat wil je nou weten?

Anyway is "codeValue" geen Attribuut, dus is NUM[@codeValue =' 8302-2'] zowiezo fout.

Ook de kreet "match="NUM[codeValue]" is (hier althans) apekool, tussen de vierkante haken hoort een soort expressie te staan, een soort voorwaarde (denk aan een IF statement)

Kun je een voorbeeld geven van hetgeen je als output wilt krijgen?

  • kmmartins
  • Registratie: Maart 2003
  • Laatst online: 11-03-2024
Ik wil als output krijgen: 1.8
En nu wil patient height weten, wat 1.8 is
En wat ik heb en weet is: codeValue: 8302-2

  • kmmartins
  • Registratie: Maart 2003
  • Laatst online: 11-03-2024
Oke ik heb het probleem opgelost
code:
1
normalize-space(codeValue) = '8302-2'

Zodat de spaties worden weg gewerkt

en voor de match was match="NUM/*" goed.