XML-Element unverändert per XSL in HTML einbinden
AaronBS
- xsl
0 MudGuard0 Thomas J.S.0 MudGuard0 Thomas J.S.0 MudGuard
0 AaronBS
Hi zusammen,
habe ein eigentlich triviales Problem, anscheinend zu trivial, um es erklären zu müssen, aber ich kriegs nicht hin...
Wie bekomme ich den kompletten Inhalt eines XML-Dokumentes (zumindest den des Root-Elemntes) nochmals redundant zur Kontrolle in mein generiertes HTML-Dokument? (einfach als text, mehr nicht)
<?xml version="1.0" encoding ="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="root">
<html>
<head><title>Blabla</title></head>
<body>
... sind meine generierungsanweisungen
...
<hr/>
... und nun möchte ich den Inhalt der root oder besser DIE root oder noch besser das ganze dokument inklusive allem nochmal zur Kontrolle im Klartext sehen:
</body>
</html>
</xsl:template>
</xsl:stylesheet>
wer kann mit helfen???
thx :-)
Hi,
... und nun möchte ich den Inhalt der root oder besser DIE root oder noch besser das ganze dokument inklusive allem nochmal zur Kontrolle im Klartext sehen:
xsl:????????/
cu,
Andreas
Hi,
... und nun möchte ich den Inhalt der root oder besser DIE root oder noch besser das ganze dokument inklusive allem nochmal zur Kontrolle im Klartext sehen:
xsl:????????/cu,
Andreas
»»
thx ein stückchen bin ich damit schon weiter,
mit:
<xsl:copy-of select="/"/>
bekomme ich die Root nun ins HTML, aber dort ist sie im browser unsichtbar, d.h nur im Quelltext des Browsers zu sehen... Wie kriege ich das nun hin?
mit einem <p class="xml"></p> drum herum klappts nicht, auch nicht mit <pre></pre> alles, was in spitzen Klammern steht, d.h. die xml-tags bleiben stets unsichtbar :-(
Aaron
Hi Aaron,
mit:
<xsl:copy-of select="/"/>
bekomme ich die Root nun ins HTML, aber dort ist sie im browser unsichtbar, d.h nur im Quelltext des Browsers zu sehen... Wie kriege ich das nun hin?
wenn du ASP benutzt, rendere eine Zeile wie
response.write Server.HTMLEncode( objXML.xml )
raus. Bei PHP oder anderen Servergeschichten gibt's sicher was Ähnliches.
Gruß,
Martin
Danke Martin,
leider habe ich lediglich einen xslt-Prozesoor zur Verfügung.
D.h. Ich muß es irgendwie im xslt-Stylesheet umwandeln, d.h. die xml-tags in quasi "ungefährlichen" text, oder auf der HTML-Seite :-(
Danke trotzdem für die Hilfe ;-)
Weiß sonst noch wer einen Rat, bzw. gibt es eine Art Text-Zeichenersetzungsfunktion, die ich während der xslt-Transformation auf ein Element loslassen kann ?
thx a lot :-)
Hi,
D.h. Ich muß es irgendwie im xslt-Stylesheet umwandeln, d.h. die xml-tags in quasi "ungefährlichen" text, oder auf der HTML-Seite :-(
(mangels Testumgebung ungetestet):
<xsl:output cdata-section-elements="pre" />
<pre><xsl:copy-of select="/" /></pre>
cu,
Andreas
Hallo,
Wie bekomme ich den kompletten Inhalt eines XML-Dokumentes (zumindest den des Root-Elemntes) nochmals redundant zur Kontrolle in mein generiertes HTML-Dokument? (einfach als text, mehr nicht)
Folgendes habe ich mit Saxon:
(der Namensraum xhtml ist nötig, damit die Elemente nicht nach HTML-Syntax ausgegeben werden)
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xhtml">
<xsl:output method="xhtml:xhtml" encoding="iso-8859-1" />
<xsl:template match="/">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="">
<textarea cols="100" rows="20">
<xsl:copy-of select="/" />
</textarea>
</form>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Hi,
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xhtml">
<xsl:output method="xhtml:xhtml" encoding="iso-8859-1" />
<xsl:template match="/">
<form action="">
<textarea cols="100" rows="20">
<xsl:copy-of select="/" />
Und was, wenn das xml-Dokument ein textarea-Element enthält?
In einer textarea müssen < und & durch ihre Entities dargestellt werden.
Das geschieht bei Deiner Lösung nicht.
cu,
Andreas
Hallo,
Und was, wenn das xml-Dokument ein textarea-Element enthält?
Natürlich ist das dumm weil die Lösung nicht funktioniert.
Aber ich könnte die selbe Frage an dich bzw. an deine Lösung stellen.
-----
<xsl:output cdata-section-elements="pre" />
<pre><xsl:copy-of select="/" /></pre>
------
In einer textarea müssen < und & durch ihre Entities dargestellt werden.
Das geschieht bei Deiner Lösung nicht.
Das ist auch wahr, aber ebenso nicht mein Problem wie, dass die von dir geforderte Ersetzung bei deiner Lösung ebenfalls nicht geschieht.
Und was machen wir jetzt?
Ich habe einige Möglichkeiten ausprobiert und meine "Lösung" war noch die einfachste und effektivste.
Grüße
Thomas
Hi,
<xsl:output cdata-section-elements="pre" />
<pre><xsl:copy-of select="/" /></pre>
Ich hatte das nicht getestet und mich nur an das gehalten, was im Standard steht:
For example,
<xsl:output cdata-section-elements="example"/>
would cause a literal result element written in the stylesheet as
<example><foo></example>
cu,
Andreas
Hallo Andreas,
<xsl:output cdata-section-elements="pre" />
<pre><xsl:copy-of select="/" /></pre>Ich hatte das nicht getestet
Das hast du in der Tat gesagt.
und mich nur an das gehalten, was im Standard steht:
sorry... *hüstel* <leise>Nicht wirklich.</leise>
Beachte: text node children, und mit copy-of hast du nur Element-Kinder im <pre>.
For example,
<xsl:output cdata-section-elements="example"/>
would cause a literal result element written in the stylesheet as
<example><foo></example>
Gilt erstens wie gesagt für Textinhalte eines Elements und zweitens nur wenn du method="xml" angibst, was du nicht machtest, womit method="html" angenommen wird. Und für diese ist cdata-section-elements "not applicable" --> siehe 2)
method="xml" würde es zwar "bringen", dann aber kann der IE die Seite nicht anzeigen.
Grüße
Thomas
Danke, mit Textarea funktioniert es für meine debugging-Zewecke prima :-)))) Angenehmer Nebeneffekt: ich kann durch das debug-xml scrollen und verliere das generierte HTML im Browser nicht aus den Augen :-)
Die andere Methode, d.h. die Ausgabe durch die Änderung der Transformation selbst, werde ich auch noch probieren.
Nochmals vielen Dank an alle, die geholfen haben!!!
Aaron