Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Variabler eller parametrar?

Postades av 2006-10-14 01:00:14 - Magnus Hallberg, i forum xml, Tråden har 2 Kommentarer och lästs av 1671 personer

jag har en xml-fil med denna struktur
<code>
<data>
<car-colors>
<color id="c1" display-name="Vit" />
<color id="c2" display-name="Ljusblå" />
<color id="c3" display-name="Brun" />
</car-colors>
<units>
<unit id="u1" display-name="m" />
<unit id="u2" display-name="mm" />
<unit id="u3" display-name="cm" />
<unit id="u4" display-name="km/h" />
</units>
<car-data>
<category display-name="Personbil">
<car>
<name>Pelle</name>
<length unit-id="u1">5</length>
<width unit-id="u1">2</width>
<color color-id="c1" />
<top-speed unit-id="u3">20</top-speed>
</car>
<!--car upprepas ett antal gånger därför avslutar jag inte car-data...-->
</code>
Jag ska få ut det så här:
Personbil
Pelle
Färg: Vit
Längd: 5 m
....................
Maria
Färg: Brun
Längd: 4.5 m

Hur får jag ut färgen och längden? har försökt spara det i variabler men får det inte att lyckas. Jag har fått ut kategorin och namnet på personen samt id för de olika måtten. Jag skriver i XSLT

-----------------------------EDIT------------------------------------
Jag har denna kod men den fungerar inte, jag får som sagt ut kategori och namnen samt att jag får ut värdena id-attributen.
<code>
<xsl:template match="data">
<xsl:param name="color" select="car-data/car/color/@color-id" />

<table style="width:100%;">
<xsl:for-each select="car-data/category">
<tr style="background-color:#ffff00">
<td style="border:1px solid black;">
<xsl:value-of select="@display-name" />
</td>
</tr>
<tr>
<td> </td>
</tr>
<xsl:for-each select="car">
<tr style="background-color:#cccccc">
<td style="border:1px solid black;">
<xsl:value-of select="name"/>
</td>
</tr>
<tr>
<td>
<xsl:variable name="myColor" select="@color" />
Färg: <xsl:value-of select="//car-colors/color/@display-name[@id = @myColor]" /><br />
Längd: <xsl:value-of select="length/@unit-id" /><br />
Bredd: <xsl:value-of select="width/@unit-id" /><br />
Toppfart: <xsl:value-of select="top-speed" />
</td>
</tr>

</xsl:for-each>
</xsl:for-each>
</table>
</xsl:template>
</code>


Svara

Sv: Variabler eller parametrar?

Postades av 2006-10-14 12:49:52 - David Tellander

Använd keys.

definiera:

<xsl:key name="color-key" match="car-colors/color" use="@id"/>


En key kan jämföras med en hash-tabell, där use är nyckel och match värde. I detta fall sparas alla car-colors/color noder i tabellen med sitt id som nyckel. Du kan sedan hämta en color-nod med hjälp av funktionen key.

hämta:
Färg: <xsl:value-of select="key('color-key',color/@color-id)/@display-name"/><br />


I en car-nod hämtar du värdet för färgen genom att anropa key med namnet på key:n som en sträng och id:t på den färg du vill hämta d.v.s. color/@color-id. Det du får tillbaka är en color-nod så du måste också lägga till /@display-name för att få ut namnet.

Läs mer:
http://www.w3.org/TR/xslt#key


Svara

Sv:Variabler eller parametrar?

Postades av 2006-10-14 15:30:32 - Magnus Hallberg

Funkar alldeles utmärkt. Tackar :)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
803
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies