Avatar billede ChristianHA Nybegynder
12. september 2012 - 12:01 Der er 3 kommentarer

Brug af expressions?

Jeg har en tabel med en række kolonner hvoraf jeg skal anvende de to af dem; en kolonne indeholdende et antal som skal summeres på baggrund af data i en anden kolonne. Hvordan gør det jeg med xslt? Jeg formoder jeg skal bruge en form for udtryk for at det kan lade sig gøre. Jeg har tidligere "fusket" mig frem til en selection hvor jeg tæller antallet i kolonne på baggrund af et givent interval (i nedenstående eksempel "alder" i intervallet 0-2), men kan ikke helt greje hvordan jeg skal løse den anden.

<xsl:value-of select="count(//row[@name='result' and number(col[@name='alder']) >= 0 and number(col[@name='alder']) <= 2])" />

PÅ forhånd tak.

Christian
Avatar billede jokkejensen Novice
12. september 2012 - 16:40 #1
Smider du ikke et eksempel på din "tabel", og det ønskede output fra xslt, så tror jeg nemmere folk kan hjælpe dig.

/J
Avatar billede ChristianHA Nybegynder
13. september 2012 - 09:03 #2
Naturligvis, det havde jeg ikke lige overvejet. :)

"tabellen" indeholder (blandt andet) nedenstående:

ant_incl_ejere (integer)
branche_db07 (tekstfelt)

tanken er, at der for hver branche_db07 skal ske en summering af ant_incl_ejere. Tanken var, at tage udgangspunkt i det udtryk jeg har, men kan ikke helt greje den. Håber det er nok oplysninger. :)

Vh

Christian
Avatar billede jokkejensen Novice
13. september 2012 - 10:01 #3
Men når det er xslt må du jo have noget xml ?

Har du ikke et udpluk af dette ? det er ret essentielt for at kunne benytte xpath udtryk, kender jeg ikke kilden er det svært at skrive noget xpath.

Altså et copy/paste af hvad du får ind i xslt motoren, ret eventuelle data før du paster hvis de indeholder følsomt data.

Men formodningsvist (kilde):

<rows>
<row>
<ant_incl_ejere>2</ant_incl_ejere>
<branche_db07>XXX</branche_db07>
</row>
<row>
<ant_incl_ejere>1</ant_incl_ejere>
<branche_db07>XXX</branche_db07>
</row>
<row>
<ant_incl_ejere>6</ant_incl_ejere>
<branche_db07>XX2</branche_db07>
</row>
</rows>


xslt

<xsl:for-each select="//row[not(branche_db07=preceding-sibling::row/branche_db07)]">
        <xsl:variable name="brance" select="branche_db07"></xsl:variable>
        <xsl:value-of select="branche_db07"/> : <xsl:value-of select="//row[branche_db07 = $brance]/ant_incl_ejere)"/>
        <br></br>
    </xsl:for-each>


giver mig:

XXX : 3
XX2 : 6

Venligst
J
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