Avatar billede mik789 Nybegynder
16. april 2004 - 21:57 Der er 7 kommentarer og
1 løsning

apply-templates select="flere navngivne elementer"

Kan man vælge man flere navngivne elementer til samme template - svarende til at man i CSS kan vælge flere selectors til samme regelsæt:

div, td, p { property: value; }

altså noget i stil med:

<apply-templates select="element_1, element_2, element_3"/> ?

//mik
Avatar billede mik789 Nybegynder
16. april 2004 - 22:05 #1
øh - spørgsmålet var vist lidt ude i hampen...
det jeg mener er vel om man kan:

<xsl:templates match="element_1, element_2, element_3">
[regler]
</xsl:templates>

og så:

<xsl:apply-templates select="element_1, element_2, element_3"/>
Avatar billede mik789 Nybegynder
16. april 2004 - 22:07 #2
eller måske endda:

<xsl:templates match="element_1, element_2, element_3">
[regler]
</xsl:templates>

og så:

<xsl:apply-templates select="element_1"/>

eller: <xsl:apply-templates select="element_2"/>
eller: <xsl:apply-templates select="element_3"/>

Eller m.a.o. lave en match på flere elementer og kunne bruge den på enkelte fra listen.
Avatar billede nute Nybegynder
16. april 2004 - 22:08 #3
du kan ikke bruge 'select' på flere elementer på samme tid. Du kan matche flere, ved at skrive 'element_1|element_2':

xml:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <item1>item1</item1>
    <item2>item2</item2>
</root>

xsl:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="/">
        <xsl:apply-templates/>
    </xsl:template>
    <xsl:template match="item1|item2">
        <xsl:value-of select="."/>
        <br/>
    </xsl:template>
</xsl:stylesheet>


vil give resultatet:

item1
item2
Avatar billede nute Nybegynder
16. april 2004 - 22:11 #4
næææ ... bullshit, nute !!!

denne fungerer da fint !! hvis du ikke ved hvad du taler om, så lad være med at poste !!

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="/">
        <xsl:apply-templates select="root/item1|root/item2"/>
    </xsl:template>
    <xsl:template match="item1|item2">
        <xsl:value-of select="."/>
        <br/>
    </xsl:template>
</xsl:stylesheet>

;o]
Avatar billede mik789 Nybegynder
16. april 2004 - 22:31 #5
ja, det fandt jeg ud af (her: http://www.w3.org/TR/xslt#patterns): man bruger bare "|" operatoren:

<xsl:templates match="element_1|element_2|3l3m3nt_3">
....
....
</xsl:templates>

<xsl:apply-templates select="element_2"/>
osv.

- Jeg kunne også have undgået at poste sp., hvis jeg lige havde kigget på spec. først, men hva', andre kan måske kigge med + at man ligesom lærer det bedre når man fjumrer undervejs her på Eksp. ;-)

//mik
Avatar billede mik789 Nybegynder
16. april 2004 - 22:35 #6
nute> bare læg et svar...
Avatar billede nute Nybegynder
16. april 2004 - 22:41 #7
well ... jeg lærte hvertfald at man kunne selecte flere :-D måske ikke så ufattelig at man kunne, i og med at man kan matche flere noder, meeeen ... jeg har ikke lige haft behov for det, og dermed så tænker man ikke over det :)

/nute
Avatar billede nute Nybegynder
17. april 2004 - 00:47 #8
- takker -
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester