jorux: <br />-Tags auslesen

Hallo nochmals,

eine letzte Frage, dann bin ich vermutlich wunschlos glücklich...

In meinen XML-Dokumenten sind teilweise <br />-Tags enthalten. Damit der Code valide ist, musste ich in die dtd eine entsprechende Definition einbauen. Mir ist nichts besseres eingefallen als

<!ELEMENT br (#PCDATA) >

Dann wird das alles gelesen und das Dokument ist auch valides XML - nur ist die Zeilenschaltung futsch...

Was kann man tun, um die Zeilenschaltung zu erhalten?

Muss ich <br /> möglicherweise durch eine ENTITY ersetzen? Und wie wird die dann definiert.

Gruss

  1. Sorry,

    in dem Moment, in dem ich auf die Send-Tast geklickt habe, ist mir die Antwort eingefallen: Ich muss ja nur in die XSL-Datei

    <xsl:template match="br">
      <br />
    </xsl:template>

    einfügen, und fertig ist die Laube. Oder geht das noch einfacher?

    Gruss

  2. Tach

    In meinen XML-Dokumenten sind teilweise <br />-Tags enthalten. Damit der Code valide ist, musste ich in die dtd eine entsprechende Definition einbauen. Mir ist nichts besseres eingefallen als

    <!ELEMENT br (#PCDATA) >

    <!ELEMENT br EMPTY>

    halte ich für sinnvoller (so ist es auch in XHTML 1.0 definiert), oder willst Du

    <br>blablubb</br>

    zulassen?

    Dann wird das alles gelesen und das Dokument ist auch valides XML - nur ist die Zeilenschaltung futsch...
    Was kann man tun, um die Zeilenschaltung zu erhalten?

    Wenn Du das Element bei der Transformation kopieren willst, bietet sich

    xsl:copy

    doch ziemlich direkt an. Da kann man dann ein einziges Template für alle zu kopierenden Elemente schreiben:

    <xsl:template match="br|hr">
      xsl:copy/
    </xsl:template>

    bye, Robert