Announcement

Collapse
No announcement yet.

xml-seite in xml-seite einfügen mit zwei Templates

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • xml-seite in xml-seite einfügen mit zwei Templates

    Hi,
    ich habe per <xsl:apply-templates select="document('irgendwas.xml')" />
    <xsl:value-of select="." />
    eine xml datei in eine bestehende eingefügt. Das funktioniert soweit ganz toll. nur wird das StyleSheet auf das includete xml_file leider nicht angewendet. Hat da vielleicht jemand ne Ahnung woran das liegen könnte?
    Das xml_file wird komplett eingefügt nur ohne formatierung ;-(

  • #2
    hmmm, interessantes problem. <br>
    ich habe das mal durch den xalan-xslt proz laufen lassen.......
    <br>.....und der formatiert es! <br>
    aber leider kommt es dabei zu einer endlosscheife, da das xsl-stylesheet
    <br>immer dieses dok einbindet, darauf sich selbst anwendet, es wieder
    <br>einbindet, ...etc.
    <br>scheint so, als ob es dafür keine triviale lösung gibt.
    <p><b>PS:</b> ich arbeite an einem ähnlichen problem: ich will mehrere dateien mit einem xslt-stylesheet generieren, evtl. includieren --> noch keine ahnung, wie...</p&gt

    Comment


    • #3
      Das Problem hängt wahrscheinlich mit dem XPath-Datenmodell zusammen.
      Dieses repräsentiert ein Dokument in einem Baum, der einen sogenannten root-node hat. Das ist <b>nicht</b> der document-root. D.h. Es gibt innerhalb von XSLT noch eine Ebene im Dokument über dem document-root. Oft hilft es bei Verwendung der document-Funktion
      einfach einen weiteren location-step einfzufügen. Ist der doc-root
      &lt;glossar&gt; dann könnte document so aussehen

      select="document('xyz.xml')//glossar"

      Das ist nicht elegant, hilft aber meist bei dieser Art Probleme

      Comment


      • #4
        Ich hatte ebenfalls das Problem mit dem Einfügen von anderen xml's. Das Problem mit dem Stylesheet habe ich durch eine beiden xml's gemeinsame xsl-Datei gelöst. Einfach so tun, als ob man nur eine xml-Datei hätte. Könnte allerdings bei vielen unterschiedlichen Tags lästig lang werden oder man hat mehrere Stylesheets mit redundantem Code. Außerdem benutze ich Cocoon 1.8.2. Könnte es damit etwas zu tun haben

        Comment


        • #5
          Hallo zusammen,

          Grundsätzlich würde ich erstmal versuchen deine XML-Dokumente durch zwei XSL zu pipen. Das erste fügt nur das neue XML ein, das zweite übernimmt die komplette Formatierung. Wenn alles in einem Stylesheet passieren soll, dann ´muss man aufpassen, das auch wirklich für das Root-Element ein Template existiert, damit dass eingebundene XML überhaupt durchlaufen wird. Am besten wäre mal ein kleiner Beispiel-Code für das Problem und die Umgebung in der gearbeitet wird.

          Mich

          Comment

          Working...
          X