"Dynamische Variablen" in XSL

Sixerkarton

Grünschnabel
Hi liebe Leute,

ich hoffe, dass es dieses Thema noch nicht gibt, hab mit der SUFU aber auch nichts passendes gefunden.

Mein Problem ist folgendes.

Ich habe eine XML-Datei, die ungefähr so aussieht:
Code:
<Metadata>
  <Spacing betweenrows="10" betweencolumns="16" betweenlabelandvalue="8" />
  <Columns>
    <Column labelwidth="140" valuewidth="250" />
    <Column labelwidth="140" valuewidth="200" />
  </Columns>
  <Rows>
    <Row>
      <Label>Video</Label>
      <Empty />
    </Row>
    [...]
   </Rows>
</Metadata>

Nun soll ich daraus mittels XSL eine HTML-Tabelle erstellen.
Mein Problem ist, dass es sein kann, das die Column Elemente verschiedene Anzahlen haben, d.h. es kann nur 1 sein, aber es könnten auch 5 sein.

Ich möchte die Attribute labelwidth & valuewidth in Variablen speichern, ich weiß allerdings, dass es keine dynamischen Variablen in XSL gibt.

Mir würde es schon helfen, wenn ich auf die einzelnen Column-Elemente zugreifen könnte.
z.B.:

Code:
<xsl:variable name="LabelWidth1" select="Metadata/Columns/Column/@labelwidth"/>
<xsl:variable name="LabelWidth2" select="Metadata/Columns/Column(Node2)/@labelwidth"/>

Hat jmd eine Idee, wie das zu realisiern ist?

Vielen Dank im Voraus
MfG
Sixerkarton
 
Hi.
Mein Problem ist, dass es sein kann, das die Column Elemente verschiedene Anzahlen haben, d.h. es kann nur 1 sein, aber es könnten auch 5 sein.
Code:
count(Metadata/Columns/Column)
Ansonsten würde sich dann eine for-each Schleife anbieten.
Ich möchte die Attribute labelwidth & valuewidth in Variablen speichern, ich weiß allerdings, dass es keine dynamischen Variablen in XSL gibt.
In der for-each Schleife kannst du die Variablen neu setzen.
Mir würde es schon helfen, wenn ich auf die einzelnen Column-Elemente zugreifen könnte.
Auf labelwidth Attribut des ersten Column Elements zugreifen:
Code:
Metadata/Columns/Column[1]/@labelwidth
Gruß
 

Neue Beiträge

Zurück