Et site med kursusmaterialer, der bruges i forbindelse med undervisning i forskellige it relaterede emnerEn skøn grafik du kan nyde mens der undervises.
   

Send spørgsmål eller kommentar til Thor - klik her: Send en kommentar til Thor - omkring undervisning eller kursus  Søg i kursusmaterialerne. Kan bruges i forbindelse med undervisningen eller efter kurset  Til forsiden af kursusmaterialer.dk 

 

XML formatering og transformation / XSLT elementer / xsl attribute Tag dig ikke af dette flag - det er bare en besked til underviseren om, at der er undervisernote knyttet til XML formatering og transformation kursus, XSLT elementer, xsl attribute


XSL fjernundervisningskursus

- Vil du gerne på kursus NU?

- Vil du gerne lære i dit eget tempo?

- Har du ikke tid til at tage på kursus ude i byen?

Så køb et kursus i XSL som fjernundervisning på www.it-fjernundervisning.dk


xsl:attribute og xsl:attribute-set

På samme måde som vi med xsl:element kan generere dynamiske elementer kan man med de to ovennævnte generere dynamiske attributter i forbindelse med at man genererer nye xml dokumenter.

Syntaksen er

<xsl:attribute name="attribut navn">

Og som med xsl:element kan vi skrive

<Navn><xsl:attribute name="ID">123</xsl:attribute>Thor Østergaard</Navn>

Vil producere

<Navn ID="123">Thor Østergaard</Navn>

Og

<Navn><xsl:attribute name="{.}">123</xsl:attribute>Thor Østergaard</Navn>

Vil indsætte indholdet af det aktuelle element som attribut navn. Husk at sørge for at navnet er lovligt!

 

Grupper af atributter

Har man en gruppe af atributter man gerne vil kunne sætte samtidig kan man bruge <xsl:attribute-set> i stedet. Det kunne se sådan her ud:

<xsl:attribute-set name="IdSize">
<xsl:attribute name="ID">A-213</xsl:attribute>
<xsl:attribute name="Size">A-213</xsl:attribute>
</xsl:attribute-set>

Og nås man skal bruge det skriver man:

<xsl:element name="order" use-attribute-sets="IdSize" />

Vil producere

<order ID="A-213" Size="123" />

Øvelse

Prøv at lave et style sheet, der flytter ID nummeret op som attribut på nummer elementet - der skal altså komme et XML dokument ud, der ser ca. sådan her ud:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Musik>
 <Nummer ID="14811">
  <Plade>Glad i Åbningstiden</Plade>
  <Titel>.. (5)</Titel>
  <Kunstner>Dan Turèll + Halfdan E</Kunstner>
 </Nummer>
 <Nummer ID="23170">
  <Plade>cinemataztic</Plade>
  <Titel>Untill we meet again</Titel>
  <Kunstner>Caroline Henderson</Kunstner>
 </Nummer>
 <Nummer ID="29126">
  <Plade>Glad i Åbningstiden</Plade>
  <Titel>.. (1)</Titel>
  <Kunstner>Dan Turèll + Halfdan E</Kunstner>
 </Nummer>
 <Nummer ID="32940">
  <Plade>Glad i Åbningstiden</Plade>
  <Titel>.. (3)</Titel>
  <Kunstner>Dan Turèll + Halfdan E</Kunstner>
 </Nummer>
 <Nummer ID="38452">

.
.
.

Øvelse

Ved hjælp af funktionen position(), der kan bruges sammen med xsl:value-of kan du lave et stylesheet, der i stedet giver pladerne et fortløbende ID nummer.

   
Spacer Spacer Spacer Spacer