Announcement

Collapse
No announcement yet.

Variable enthält nur CDATA und Textknoten ?

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

  • Variable enthält nur CDATA und Textknoten ?

    Hi,

    ich möchte mit XSLT HTML Seiten mit IFrames erstellen.
    Dazu schreibe ich mit document.write() den Inhalt in den Iframe.
    Der Inhalt generiere ich mit call-templates und apply-templates und speichere ihn in einer Variablen, weil ich noch die Leerräume entfernen und doppelte Anführungszeichen mit Einfachen ersetzen muss.

    <pre>&lt;xsl:template match="APPLICATION"&gt;
    &lt;IFRAME name="application"&gt;
    &lt;/IFRAME&gt;

    &lt;SCRIPT type="text/javascript"&gt;
    &lt;xsl:variable name="frame_inhalt"&gt;
    &lt;xsl:call-template name="application_html"/&gt;
    &lt;/xsl:variable&gt;
    &lt;![CDATA[
    top.frames["application"].document.close(); top.frames["application"].document.open("text/html","replace");
    var str_frame='
    ]]&gt;
    &lt;xsl:value-of select="normalize-space($frame_inhalt)"/&gt;
    &lt;![CDATA['; top.frames["application"].document.write(str_frame);
    top.frames["application"].document.close();
    ]]&gt;
    &lt;/SCRIPT&gt;
    &lt;/xsl:template&gt;

    &lt;xsl:template name="application_html"&gt;
    &lt;![CDATA[&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;]]&gt;
    &lt;HTML&gt;
    &lt;xsl:call-template name="application_head"/&gt;
    &lt;xsl:call-template name="application_body"/&gt;

    &lt;/HTML&gt;
    &lt;/xsl:template&gt;</pre>

    In der Variablen stehen dann aber nur CDATA abschnitte und textknoten.
    Wieso ?

    Wenn ich das Template innerhalb von write aufrufe:
    <pre>&lt;![CDATA[top.frames["application"].document.write(]]&gt;&lt;xsl:call-template name="application_html"/&gt;&lt;![CDATA[);]]&gt;</pre>
    dann steht zwar alles drin, aber ich habe keine Möglichkeit mehr den String zu verändern.

    Hat hier jemand ein Lösung?
    Danke im Voraus
    Silvija
Working...
X