Anzeige:
Ergebnis 1 bis 4 von 4

Thema: XSL: Eingabedokument unverändert lassen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.11.2005
    Beiträge
    47

    XSL: Eingabedokument unverändert lassen?

    Hallo zusammen!

    Ich bin absoluter XML/XSL-Neuling, muss nun aber ein XSL-Stylesheet schreiben.
    Ich arbeite an einer JSP-Anwendung und nutze einige fertige Tag-Libs. Ein Tag lässt sich von der Interna der Klassenbibliothek eine XML-Ausgabe A erzeugen und baut sie dann über ein XSL-Stylesheet S in HTML-Code um. Nun möchte ich die Ausgabe statt in HTML in einer eigenen XML-Sprache haben.
    Das Problem:
    Das Eingangsdokument A, dass mit Hilfe des Stylesheet S in das Zieldokument B umformatiert wird, kenne ich nicht. Leider habe ich auch keinen ausreichend tiefen Einblick in die Tag-Lib, um den Aufbau von A zu ergründen. Kann ich das Stylesheet S so umschreiben, dass ich erst einmal das Eingangsdokument A als Ausgabe bekomme? (Also dass gilt A=B?)

    Danke für jede Hilfe!

  2. #2
    Registrierter Benutzer
    Registriert seit
    12.12.2007
    Beiträge
    15
    Hallo,

    wenn ich mich richtig erinnere, brauchst du nur in der XSLT-Datei keine Aktionen durchzuführen. Auch keine Templates definieren. Bin mir aber gerade nicht mehr so sicher, da ich schon lange nichts mehr damit gemacht hab.

    MFG

    zEriX
    Was ist die längste Zeitspanne in der Informatik?
    Mal gerade eben

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.11.2005
    Beiträge
    47
    Danke schon mal!

    Also, wenn ich alles innerhalb der stylesheet-tags auskommentiere, bekomme ich ein sehr interessantes Ergebnis.

    Das Tag, welches die Transformation durchführen lässt und den HTML-Output erzeugt, ist eigentlich zur Erzeugung einer Tabelle gedacht und stammt aus dem Mondrian-Paket. Mondrian ist ein OLAP-System. Mit der Tag-Lib kann ich eine mdx-Anfrage definieren (ein Tag) und bekomme eine Tabelle als Ergebnis (durch ein weiteres Tag, welches das mdx-Anfrage-Objekt und den Ort des XSL-Sylesheet als Attribute hat).
    Wenn das Stylesheet nun leer ist, schreibt das 2. Tag die mdx-Anfrage in die Ausagbe!

    Für jene, die von OLAP/MDX noch nix gehört haben:
    Das ist so, als wenn ein Tag, welches eine SQL-Anfrage startet und das Ergebnis als Tabelle darstellt, statt eines Ergebnisses die Original-SQL-Anfrage in die Ausgabe (den http-response) schreibt.

    Warum und wo das geschieht, bleibt mir noch schleierhaft.

    Gibt es weitere Ideen?

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.11.2005
    Beiträge
    47

    Die Lösung

    Ich fand Hilfe beim Entwickler-Forum. Folgender Inhalt für's Stylesheet macht den Job:
    Code:
    <xsl:template match="@* | node()">
      <xsl:copy>
        <xsl:apply-templates select="@* | node()"/>
      </xsl:copy>
    </xsl:template>
    Der Code sieht aus, als wenn man nach zwei Tagen XSL-Erfahrung über meine Frage schmunzeln könnte...

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •