Halihallo Thomas
Problemen kommen wird, wenn man komplexere Dinge transformieren will.
;-) Das ist kaum anzunehmen.
Ich lasse mich gerne vom Gegenteil überzeugen, wirklich. ;)
»»Nehmen wir z. B.
eine Übersicht der Klassenvererbung (in der ersten Stufe sind alle Klassen, die von
keiner anderen mehr erben, die zweite Stufe sind diejenigen, welche von diesen
"Super-Basis-Klassen" erben usw.), dies wäre IMHO mit XSLT nicht (bzw. nur sehr schlecht)
abbzubilden, da man für diese Anwendung bereits einen Alogithmus braucht, der einen Baum
der Vererbungshierarchie aufbaut.Sorry, aber du hat XSL gründlich missverstanden. XSL bzw. XML Parsen ist das auf und ab wandern in einer baumartigen hierarchischen Struktur.
Das glaube ich nicht (Tim/Thomas)...
Das Prinzip, wie XSL(T) vorgeht ist mir bekannt; ich gebe dir jedoch recht, dass ich den
Leistungsumfang nicht genau kenne, da ich wirklich nicht viel Erfahrung damit habe
(bzw. immer nur "einfache" Transformationen gemacht habe).
»»Wenn man dies mit XSLT abbilden möchte, bräuchte man
geeignete Eingabedaten (diese würden dann leider nicht mehr der
Componenten-Beschreibungs-XML-Datei entsprechen), dies würde bedeuten, dass man mit einem
Programm diese erst herstellt.???? Das einzige was du brauchst is XML.
Ja, aber ich dachte (und du hast mich noch nicht vom Gegenteil überzeugt), dass man den
Algorithmus in einem Programm implementieren muss, sodass dieser einen entsprechend
erstellten XML-Output generiert, sodass man mit XSLT transformieren kann und dort keine
"Algorithmen zu implementieren" braucht. Den Umweg über das Programm deshalb, da ich mir
(noch) nicht vorstellen kann, dass man das gleich in XSLT umsetzen kann.
Das halte ich im Kontext für etwas übertrieben, da man
ja durch CSS schon einiges variabel Designen kann (klar, die Grundstruktur des HTML-
Outputs kann man nicht ändern, aber dessen Anzeigeformat).Wenn du dein XML mit CSS formatieren willst, kannst du nur eine absolute flache Hierarchi bzw. fast keine haben.
Mit XSLT kannst du kreuz und quer über die verschiedensten Verwandschaftspfaden laufen, und noch eingies mehr in der Hierarchie machen.
Das wollte ich u. a. damit sagen. Mit XSLT kann man den HTML Output an sich ändern,
mit meiner Version würde man nur über CSS noch Designänderungen vornehmen können.
Sorry, aber ich habe das gefühl, dass du sehr wenig über die Möglichkeiten von XSLT weisst und das du noch gar nichts damit gemacht hast.
ersteres ja, letzteres nein.
Oder ist es Fakt, dass alles mit XSLT transformierbar wäre?
Alles sicher nicht. Du kannst auch mit XSLT blein nicht in Gold Transformieren.
Schade, dachte schon es wäre eine Möglichkeit für mich, als Alchimist ;-)
Wie siehr denn deine XML aus, was in etwa möchtest haben?
Die Eingabe ist so, wie in Doc.xml. Das ist die Grundlage, von wo aus alles andere
transformiert werden soll. Jede Klasse in Doc.xml hat ein optinales Attribut extends,
welches diejenige Klasse "referenziert", von der geerbt werden soll. Bei grossen
Komponenten ergibt dies eine baumartige Vererbungshierarchie, die ich eben ausgeben
möchte. Nehmen wir als Beispiel eine kleine Teilmenge der Doc-Komponente:
XML::DOM::Node
XML::DOM::Document
DocComponent
XML::DOM::Element
DocClass
DocMethod
XML::DOM::Parser
DocParser
XML::DOM::Node und XML::DOM::Parser sind die "Lowest-Level-Klassen", vonwelchen nicht
mehr weiter vererbt wird. Danach kommen diejenigen Klassen, die von denen erben, etc.
Erschwerend kommt hinzu, dass die einzelnen Klassen der gleichen Ebene "zusammengefasst"
werden, also _nicht_ sowas:
XML::DOM::Node
XML::DOM::Document
DocComponent
XML::DOM::Node
XML::DOM::Element
DocClass
XML::DOM::Node
XML::DOM::Element
XML::DOM::Parser
DocParser
Wie kann man das mit XSLT abbilden? - Geht das überhaupt? - Meiner Meinung nach braucht
es dafür eben einen Algorighmus, der einen Baum erstellt; ich weiss derzeit nicht, wie
ich dies mit XSLT machen soll.
Viele Grüsse
Philipp