|
|||||
|
Velkommen IntroXML Brushup Hvad er XMLXML Formatering med CSS XML Transformation med XSL Document Type Definition XML Schemas Document Object Model Simple API for XML XML og web Formatering med CSSGrundlæggende XSLT XSL IntroduktionDet grundlæggende XPath XPath intoDokumentets rod Filtrering med XPath XPath funktioner XPath aksenavne XSLT elementer xsl stylesheetxsl template xsl apply-templates xsl value-of xsl output xsl element xsl attribute xsl text xsl if og xsl choose xsl for-each xsl copy og xsl copy-of Sortering Modes IntroduktionDiverse VariableParametre Navngivne templates XML Værktøjer og ressourcer Værktøjer og ressourcer |
XML formatering og transformation / 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 |
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!
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" />
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">
.
.
.
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.