Hallo Philipp,
Ich lasse mich gerne vom Gegenteil überzeugen, wirklich. ;)
http://httpd.apache.org/docs-2.0/new_features_2_0.xml
Dann von da ausgehen die XSL-Dateien:
http://httpd.apache.org/docs-2.0/style/manual.en.xsl
http://httpd.apache.org/docs-2.0/style/xsl/common.xsl
http://httpd.apache.org/docs-2.0/style/xsl/sitemap.xsl etc.
die sind um einiges komplizierter, als z.B. welche die du brauchen würdest (jetzt mit deinem doc.xml)
(generell kannst du bei der doku vom Apche 2 die HTML-Endungen durch XML ersetzen und du hast due XML/XSLT Version der Doku: geht allerdings nur mit Browser die XML mit XSLT selbst darstellen können.)
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 ist schon OK, wenn du mir nicht glaubst, aber das ändert wenig daran, dass sowohl ein XML als auch ein XSL Prozessor mit "Bäumen" arbeitet. Als leichtverständliche Einführung ist <file:///D:/selfhtml/xml/darstellung/xslgrundlagen.htm#transformation> wirklich geeignet ;-)
Das Prinzip, wie XSL(T) vorgeht ist mir bekannt;
OK, und wie ist das Prinzip vom XSLT? ;-)
???? 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.
Ich weiss wirklich nicht was du meinst. Was sollte in einem Programm implementiert werden: Ich weiss nicht was du hier mit Algorithmen meinst. Was für Algorythmen sollten denn iun der XSL-Sheet nicht drinn sein? Kenntnisse über die Arbeistweise eines XML oder XSL Prozessor wären dir hier vom Vorteil. (ich meine es nicht ungut)
(http://www.fh-wedel.de/~si/seminare/ws00/Ausarbeitung/5.xslt/xslt1.htm#Anchor-56514)
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.
Ja, das ist richtig, aber ich sehe das Problem dabei nicht.
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
Ja, das wird mir jetzt klarer, aber sowas abzubilden in XSL wirklich kein so großes Problem.
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.
Da stimmt was nicht: entweder sie (XML::DOM::Node und XML::DOM::Parser) vererben noch was, oder nicht. Wenn ja sind sie nicht das lowest-level, wenn nicht, wo sollten dann klassen kommen die von denen (vom XML::DOM::Node und XML::DOM::Parser) erben?
Erschwerend kommt hinzu, dass die einzelnen Klassen der gleichen Ebene "zusammengefasst"
werden, also _nicht_ sowas:
Du möchtest eine Doku, das wie eine JavaDoku aufgebaut ist?
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.
So langsam verstehe ich was du meinst: das geht auch mit XSLT, mit rekursiven templates etc. ist sowas möglich, kommt nur wirklich darauf was du genau haben möchtest.
Grüße
Thomas