Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Problem bei XSLT (https://boardunity.de/problem-xslt-t4542.html)

BB-BF-BM 02.12.2006 17:48

Problem bei XSLT
 
Ich habe einen XML-Code:
Code:

<form>
  <input>
    <attributname1>attributwert1</attributname1>
    <attributname2>attributwert2</attributname2>
  </input>
  <input>
    <attributname_1>attributwert_1</attributname_1>
    <attributname_2>attributwert_2</attributname_2>
    <attributname_3>attributwert_3</attributname_3>
  </input>
</form>

pro <form> gibt es beliebig viele <input>-Elemente, in jedem <input> können Elemente enthalten sein, die als Attribut in einem HTML-<input>-Element vorkommen dürfen. Die Zahl der Elemente kann verschieden sein.
attributname und attributwert sind variable Werte.
wie kann ich es nun realisieren, dass die Ausgabe so erfolgt:
Code:

<form>
  <input attributname1="attributwert1" attributname2="attributwert2" />
  <input attributname_1="attributwert_1" attributname_2="attributwert_2" attributname_3="attributwert_3" />
</form>

? :confused:

den XML-Code kann ich leider nicht verändern und beim XSLT-Code steh ich gerade auf dem Schlauch :(

codethief 07.12.2006 16:45

Besser (und auch semantisch korrekt) wäre es, wenn dein XML Code so aussähe:


Code:

<form>
  <input>
  <attribute name="1">attributwert1</attribute>
  <attribute name="2">attributwert2</attribute>
  </input>
  <input>
  <attribute name="3"name_1>attributwert_1</attribute>
  <attribute name="4">attributwert_2</attribute>
  <attribute name="5">attributwert_3</attribute>
  </input>
</form>

Dann sollte es mit XSLT ganz einfach zu lösen sein. Stichwort: Schleife. ;)

PS: Vermeide variable Tagnamen - das lässt sich nicht mit DTD Definitionen und somit nicht mit XML, geschweige denn XSLT, vereinbaren.

BB-BF-BM 07.12.2006 17:33

das mit der Schleife hätte ich auch so hingekriegt; aber die variablen Elementnamen waren mein Problem.
Hab's jetzt - wie beschrieben - mit Attributen gelöst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25