Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[XSLT] Maskierung von Sonderzeichen

Empfohlene Antworten

Veröffentlicht

Hi @ all!

Arbeite grade mit XSLT und habe jetzt seit längerem ein Problem, zu dem ich keine Lösung finde: :confused:

...ich will folgenden Zeile genauso im meine transformierte XML-Datei übernehmen:

<!DOCTYPE eventlist SYSTEM "event.dtd">

Das Problem liegt darin, dass das "<" bzw. ">"-Zeichen nicht übernommen werden.

Wenn ich die sog. Maskierung verwende ( > für ">" und < für "<" ) steht in meiner XML nicht das Zeichen, sondern das Maskierungstag ( > bzw. < )

:confused: :confused:

Hoffe es kann mir jemand weiterhelfen ... bin für jede Antwort dankbar! :nett:

so kannst du literale direkt in XML schreiben:


<section>

      <row>

         <column><![CDATA[<!DOCTYPE eventlist SYSTEM "event.dtd">]]></column>

      </row>

</section>

siehe Boardsuche:

http://forum.fachinformatiker.de/showthread.php?t=72617

Gruß,

Markus

hmmm ...

wenn ich das so in meinen XSL-Script einbau wird der Befehl ignoriert und im transformierten XML-Dokument taucht exakt der selbe Befehl wieder auf

... d.h. er übernimmt es als Text!

:(

hmmm ...

wenn ich das so in meinen XSL-Script einbau wird der Befehl ignoriert und im transformierten XML-Dokument taucht exakt der selbe Befehl wieder auf

... d.h. er übernimmt es als Text!

:(

das ist das was du wolltest?

poste mal wie die ausgabe aktuell ausschaut und wie sie ausschauen sollte.

mit XSLT

Gruß,

Markus

Das ist der aktuelle, nicht funktionierende :cool: , Befehl:

<xsl:text><!DOCTYPE eventlist SYSTEM "event.dtd"></xsl:text>

Nach der Umwandlung steht dann in meiner XML-File:

<!DOCTYPE eventlist SYSTEM "event.dtd">

________________________________________________________________________________________________________

Verwende ich die Maskierungen für die < und > Zeichen nicht,

(Befehl: <xsl:text><!DOCTYPE eventlist SYSTEM "event.dtd"></xsl:text>)

fliegen folgende Exceptions:

XSLT-Fehler (javax.xml.transform.TransformerConfigurationException): javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: Der Inhalt ab "<!" ist unzulõssiges Markup. M÷glicherweise muss das Zeichen "!" () ein Buchstabe sein.

________________________________________________________________________________________________________

und wie ist das ergebnis wenn du es so machst:


<xsl:text><![CDATA[<!DOCTYPE eventlist SYSTEM "event.dtd">]]></xsl:text>

?

Nochmal vielen Dank für deine Mühen ... :)

... aber ich hab die Lösung gefunden!

Ich muss einfach dem "xsl:text"-Tag noch einen Parameter mitgeben. ;)

So funktionierts:

<xsl:text disable-output-escaping="yes"> ... </xsl:text>

(Das Ergebnis zu deinem zweiten Vorschlag sah folgendermaßen aus:

<!DOCTYPE eventlist SYSTEM "event.dtd"> )

Nochmal vielen Dank für deine Mühen ... :)

... aber ich hab die Lösung gefunden!

Ich muss einfach dem "xsl:text"-Tag noch einen Parameter mitgeben. ;)

So funktionierts:

<xsl:text disable-output-escaping="yes"> ... </xsl:text>

(Das Ergebnis zu deinem zweiten Vorschlag sah folgendermaßen aus:

<!DOCTYPE eventlist SYSTEM "event.dtd"> )

alles klar, gut zu wissen.

Gruß,

Markus

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.