HTML-Tags in XML

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • HTML-Tags in XML

    Hi!
    Ich fange gerade an mich mit XML zu beschäftigen, um Daten aus MySQL via PHP auszulesen, in XML auszugeben und dann in ein Programm einlesen zu können. In den Daten (normaler Text) sind jedoch teilweise aus historischen Gründen schon HTML-Tags enthalten.
    Nun meine Frage: kann ich die normalen alten HTML-Tags irgendwie automatisch in XML integrieren, sodass auch diese geparst werden und ich nicht jeden Tag neu definieren muss in meiner DTD? Oder müssen die Tags XHTML konform sein (sind sie nicht)?

  • #2
    ich bin zwar nicht wirklich fit in xml, aber ich denke schon, dass die tags neu definiert werden müssen. hast du schon was getestet mit den 'alten' teilen?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Jup, wenn ich sie in der DTD und im XSL nicht angebe, werden sie ignoriert und einfach nur der Text drumrum ausgegeben. Jedoch ist es ja ziemlich blöde zu schreiben z.B.
      in der DTD:
      Code:
      <!ELEMENT br EMPTY>
      und in der XLS dann:
      Code:
      <xsl:template match="br">
      <br />
      </xsl:template>
      Das muss doch irgendwie einfacher gehn, oder? Oder muss man da wirklich sozusagen das alte HTML neu erfinden?

      Kommentar


      • #4
        Original geschrieben von HMOCDarkLord
        Das muss doch irgendwie einfacher gehn, oder? Oder muss man da wirklich sozusagen das alte HTML neu erfinden?
        das kann ich dir nicht sagen. wie schon oben geschrieben, bin ich nicht fit darin. aber ein versuch war es wert. was die details angeht, so muss ich passen.
        aber keine angst. hier werden sie immer noch geholfen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Jo macht ja nix! Man kann ja auch nicht alles wissen. Vielleicht lauert hier ja noch irgendwo nen XML-Guru im Forum!

          Kommentar


          • #6
            OffTopic:
            auf jeden fall. einfach mal warten. ich denke, dass du in max 2 tagen eine antwort hast. hier im xml-forum hält sich leider nicht die breite masse auf. daher kann es hier etwas dauern. leider.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              @Abraxax: Bin ich alle zwei Tage hier? (kl. Scherz)

              @HMOCDarkLord:

              Natürlich wäre es Qutasch, die HTML4.0 DTD neu zu schreiben:
              http://www.w3.org/TR/REC-html40/sgml/dtd.html

              Zu deinen Problem:
              Du hast jetzt das Problem, dass Du Ausgabe und Inhalt miteinander vermischt hast und nun als reinen Inhalt betrachten musst. Mir fallen dazu folgende Lösungsansätze ein:

              1) Wenn Du davon ausgehen kannst, dass die HTML-Tags sauber sind und der gemischte Inhalt nur das XML Parsen stören, so kann man den Inhalt erst einmal in base64 codieren, um Ihn unbeschadet durch die Parser zu schieben und dann wieder kurz vor der Ausgabe decodieren:
              http://selfaktuell.teamone.de/artike...cript/utf8b64/

              2) Da eine Validierung des HTML so nicht möglich ist, kannst Du die HTML-4.0. dtd in deiner DTD anbinden:

              PHP-Code:
              <!-- Integration externer DTD´s ---->
              <!ENTITY % HTML_40_Strict_DTD.dtd "INCLUDE">
              <![%HTML_40_Strict_DTD.dtd ;[
              <!ENTITY % HTML_40_Strict_DTD PUBLIC  "-//W3C//DTD HTML 4.01//EN" 
              "meinhtxmhtmlpfusch.dtd" >
              %HTML_40_Strict_DTD;
              ]]>
              <! --Die Überprüfung eines wohlgeformten XML über -->
              <?php
              if (xmldoc("yourXML.xml"//suberes XMl tuwas
              else // huzhst was...
              ?>
              Naja, wirst jetzt ein wenig tüffteln müssen, da jetzt von mir freihändig...

              3) Da ich jetzt schon einige komplexe Enterprise-Strukturen auf XML-Basis auf verschiedensten Standards umgesetzt habe, weiß ich aus Erfahrung dass es einen in den Wahnsinn treiben kann, bestimmte Dokumente durch alle Parser zu kriegen...
              So dass es mir im bestimmten Kosten/Nutzen-Rahmen sinnvoll erscheint, bestimmte Tags einfach mit Hilfe eines Mediator patterns
              http://www.agcs.com/supportv2/techpa...tes/sld024.htm
              http://home.earthlink.net/~huston2/dp/mediator.html
              zu substituieren und die gewonnen Informationen an anderer Stelle wieder anfüge.

              4) Du kannst natürlich Deine Entwicklungen komplett auf XHTML umstellen, dass verringet Deine Probleme.

              "Guru" out ...
              Zuletzt geändert von Blaster; 29.05.2003, 13:00.
              Yuppi, endlich Elite ...

              Kommentar


              • #8
                Hm, na dann erstmal danke für die Hilfe Herr Guru! Ich werde das alles mal durchtesten. Mal sehn was da so bei rauskommt.

                Kommentar

                Lädt...
                X