Thomas J.S.: XSLT Tranformierung der Componenten-XML-Datei

Beitrag lesen

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

0 43

Klassenbeschreibungen

Philipp Hasenfratz
  • projektverwaltung
  1. 0

    Klassenbeschreibungen - Beispiele? - Vorlagen?

    Philipp Hasenfratz
    1. 0
      Simon Reinhardt
      1. 0
        Philipp Hasenfratz
  2. 0
    Andreas Korthaus
    1. 0
      Philipp Hasenfratz
  3. 0
    Philipp Hasenfratz
    1. 0
      Simon Reinhardt
      1. 0
        Martin Speiser
  4. 0
    Martin Speiser
    1. 0
      Philipp Hasenfratz
      1. 0
        Martin Speiser
        1. 0
          Philipp Hasenfratz
      2. 0
        Simon Reinhardt
        1. 0
          Philipp Hasenfratz
  5. 0

    Ein erster Prototyp zum testen - Komponenten-Beschreibungen

    Philipp Hasenfratz
    • perl
    1. 0
      Simon Reinhardt
      1. 0
        Philipp Hasenfratz
        1. 0

          Status

          Philipp Hasenfratz
          1. 0
            Simon Reinhardt
            1. 0
              Philipp Hasenfratz
              1. 0
                Simon Reinhardt
                1. 0
                  Philipp Hasenfratz
      2. 0

        XSLT Tranformierung der Componenten-XML-Datei

        Philipp Hasenfratz
        • xsl
        1. 0
          Thomas J.S.
          1. 0
            Philipp Hasenfratz
            1. 0
              Thomas J.S.
              1. 0
                Philipp Hasenfratz
                1. 0
                  Thomas J.S.
    2. 0
      Thomas J.S.
      1. 0
        Philipp Hasenfratz
      2. 0
        Simon Reinhardt
        1. 0
          Thomas J.S.
        2. 0
          Philipp Hasenfratz
          1. 0
            Thomas J.S.
            1. 0
              Philipp Hasenfratz
              1. 0
                Thomas J.S.
                1. 0
                  Philipp Hasenfratz
                  1. 0
                    Thomas J.S.
                    1. 0
                      Philipp Hasenfratz
                      1. 0
                        Thomas J.S.
                        1. 0
                          Philipp Hasenfratz
  6. 0
    Philipp Hasenfratz