Avatar billede neeo Nybegynder
27. marts 2007 - 11:13 Der er 11 kommentarer og
1 løsning

Xsl sort

Hej med jer eksperter.
jeg er gået lidt stå, og håber at nogen herfra kan hjælpe mig :(


jeg har noget kode som ser sådan ud.

            <xsl:choose>
              <xsl:when test="//ta/bat/@Area!=''">
                <xsl:apply-templates select="/result//area[@areaname=//ta/bat/@treArea]//person"/>
              </xsl:when>
              <xsl:when test="//ta/bat/@postnr!=''">
                <xsl:apply-templates select="/result//city[@city=//ta/bat/@postnr]//person" />
              </xsl:when>
            </xsl:choose>


men inden jeg kalder det ene eller det andet kunne jeg godt tænke mig at sortere min xml i henhold til navn.

navn ligger i /result//city/person/name/first_name
Avatar billede kinderaeg Nybegynder
27. marts 2007 - 11:30 #1
<xsl:sort select="/result//city/person/name/first_name"/>

Vil jeg tro.
Avatar billede softspot Forsker
27. marts 2007 - 11:31 #2
Noget i stil med dette:

            <xsl:choose>
              <xsl:when test="//ta/bat/@Area!=''">
                <xsl:apply-templates select="/result//area[@areaname=//ta/bat/@treArea]//person">
                  <xsl:sort select="/result//area[@areaname=//ta/bat/@treArea]//person/name/first_name" data-type="text" order="ascending" />
                </xsl:apply-templates>
              </xsl:when>
              <xsl:when test="//ta/bat/@postnr!=''">
                <xsl:apply-templates select="/result//city[@city=//ta/bat/@postnr]//person" >
                  <xsl:sort select="/result//city[@city=//ta/bat/@postnr]//person/name/first_name" data-type="text" order="ascending" />
                </xsl:apply-templates>
              </xsl:when>
            </xsl:choose>
Avatar billede neeo Nybegynder
27. marts 2007 - 12:24 #3
til :softspot
  <xsl:sort kan ikke være children til xsl:when !
Avatar billede neeo Nybegynder
27. marts 2007 - 12:25 #4
til :
Kommentar: kinderaeg
27/03-2007 11:30:15
hvor skal den smiddes hen ?
Avatar billede softspot Forsker
27. marts 2007 - 12:35 #5
det er den da vel heller ikke - den er child til apply-templates.
Avatar billede neeo Nybegynder
27. marts 2007 - 12:40 #6
det gider den hellere ikke at være :(
Avatar billede neeo Nybegynder
27. marts 2007 - 12:50 #7
den sortere ikke :(, men acceptere xsl:sort
Avatar billede kinderaeg Nybegynder
27. marts 2007 - 13:03 #8
Det kommer lidt an på hvordan du har bygget dine templates op. Hvis du sætter din sortering inden i apply-templates, skal du naturligvis ikke ha' hele stien med, kun i forhold til hvordan din template ser ud.

http://www.xml.com/pub/a/2002/07/03/transform.html
Avatar billede softspot Forsker
27. marts 2007 - 13:28 #9
Altså en relativ sortering:

            <xsl:choose>
              <xsl:when test="//ta/bat/@Area!=''">
                <xsl:apply-templates select="/result//area[@areaname=//ta/bat/@treArea]//person">
                  <xsl:sort select="name/first_name" data-type="text" order="ascending" />
                </xsl:apply-templates>
              </xsl:when>
              <xsl:when test="//ta/bat/@postnr!=''">
                <xsl:apply-templates select="/result//city[@city=//ta/bat/@postnr]//person" >
                  <xsl:sort select="name/first_name" data-type="text" order="ascending" />
                </xsl:apply-templates>
              </xsl:when>
            </xsl:choose>
Avatar billede neeo Nybegynder
07. maj 2007 - 12:35 #10
ok :)...
takker kan du ikke smide et svar :)
softspot
Avatar billede softspot Forsker
07. maj 2007 - 13:14 #11
Kommer her - velbekomme :)
Avatar billede softspot Forsker
23. maj 2007 - 14:30 #12
Tak for point :)
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