XSL: Alle Attribute ausgeben außer eins

seppo05

Grünschnabel
Hallo,

ich habe folgendes Problem, ich möchte gerne alle Attribute eines Elements ausgeben, außer das erste. Ich habe das folgende XML-File (Daten gekürzt und verfremdet, aber so ähnlich siehts aus), und möchte jetzt eine XSL-Transformation nach HTML durchführen.

Code:
<Table Title="Wunderbare Tabelle" Column1="Start" Column2="Stop">
<Unterelement1>
<Unterelement2></Unterelement2>
<Unterelement2></Unterelement2>
</Unterelement1>
</Table>


Ich möchte jetzt "Start" und "Stop" ausgeben, klar könnte ich die Attribute direkt mit Column1 bzw Column2 ansprechen. Aber es soll für eine variable Anzahl von Attributen funktionieren. Außerdem kann ich mich nicht darauf verlassen, dass die Attribute mit ColumnX durchnummiert sind, falls das für die Lösung eine Rolle spielt.

Gruß

Seppo
 

deepthroat

Erfahrenes Mitglied
Hi.

Alle Attribute des aktuellen Elements außer das erste auswählen:
Code:
@*[position() &gt; 1]
Gruß

PS: In XML dürfen Attribute in beliebiger Reihenfolge angegeben werden. Das bedeutet insbesondere das ein XSLT Prozessor die Attribute in einer beliebigen Reihenfolge liefern darf und nicht unbedingt in der Reihenfolge in der sie im Dokument angegeben sind. Evlt. wäre es besser einfach das Title Attribut zu ignorieren, anstatt darauf zu hoffen, das das Attribut als erstes angegeben ist.
 
Zuletzt bearbeitet:

seppo05

Grünschnabel
Vielen Dank,

mir war nicht ganz klar, wie und wo ich Bedingungen formuliere, jetzt hats aber glaub ich "Klick" gemacht. Ich hab mir gleich deine Anmerkung zu Herzen genommen, und selektiere jetzt mit "@*[name() != 'Title']".