Thomas J.S.: xpath concat()

Beitrag lesen

Hallo,

ja, wie soll das gehen:
Jetzt zum von mir angedachten "XSL-Designer": Wenn das XML eine feste Struktur hat, also beispielsweise ein Stammelement mit immer demselben Namen und n "XML-Datensatzmengen" mit unterschiedlichen Namen,

Tja ...
Dann mach mal Templates für Elemente dessen Namen du nicht kennst.
<xsl:template match="[name() = 'taete_ich_auch_gerne_wissen']"> ?
oder
<xsl:template match="*">
<div>
...
??

dann hat man doch genuegend Information, oder nicht?

Da hat man eine Menge an Elemente mit unbekannten Namen. Also irgendein XML. Dass dabei die Struktur immer gleich ist, spielt dann auch keine Rolle.

Man bindet den (X)HTML-Dokumentenrahmen an das XML-Stammelement. Und dann bietet die Oberflaeche des "XSL-Designers" (angenommen, ein exemplarisches XML liegt vor)

Wenn du davon ausgehen kannst, dass du eine Menge an _bekannten_ Elementen hast: ja. Sonst: <xsl:if test="$kristallkugel = 'ich sehe, ich sehe'">

noch eine Datenbindung fuer beispielsweise vorgefertigte Elemente wie das DataGrid und "die ueblichen von 'MS Frontpage' bekannten Features". Soz. ein XML-basiertes "Frontpage".   :-)

Das Problem: ich kenne Frontpage überhapt nicht, also weiss ich auch nicht was dort ein "DataGrid" sein soll.
Aber das ist eigentlich auch egal: es geht nur um den (aller ersten) Stylesheet: den muss man immer noch selber schreiben, nachher kann man dies ja als Template für alle XML-Dateien nehmen, sofern diese aus bekannten Elementen besteht.
Databinding ist wieder so ein buzzword, wie XML vor 2, 3 Jahren war.

Aber ein Problem habe ich nocht immer mit deinem Ansatz: mir fehlt noch der genaue Verständnis dazu, was du in diesem Zusammenhang von einem Tool/Programm erwartest. Es gibt kein Programm, das dir ein XSLT-Sheet schreibt, sie alle bieten dir nur dabei Unterstützung an.
Was du dann mit der fertigen XSL-Sheet machst ist eine andere Frage, da kannst du natürlich sagen, dass auf ein aus der DB generiertes XML dein XSLT angewendet werden soll.

Vielleicht reden wir hier aneinander vorbei?

Grüße
Thomas