Matthias Huttar: grundsätzliche ansicht??

ok. was ganz grundsätzliches zu XML.
XML an sich definiert ja nur daten, und nicht das format, das format wird anderst definiert, eben über stylesheets.
Ist es jetzt auch vom W3 konsortium gestattet, die xml tags durch einen filter laufen zu lassen, der die tags durch was anderes ersetzt?
also z.B. dass er aus einem
<firma>
 <mitarbeiter>
  <name>hubert</name>
  <abteilung>IT</abteilung>
  <kostenstelle>1234</kostenstelle>
 </mitarbeiter>
</firma>

über ein PHP script einen filter machen könnte, der z.B. die tags durch soetwas ersetzt:

<firma> -> <table border="0" cellpadding="0" cellspacing="0" align="center">
<mitarbeiter> -> <td bgcolor="black">
<name> -> <td><b>

etc...
wäre das jetzt noch genaugesehen der einsatz von XML (also dürfte ich darunter schreiben, dass diese seite XML verwendet)?
oder gibt es solche ersetzungsmöglichkeiten wie ich sie hier beschrieben habe eh schon und habe ich nur ein mieses buch gekauft?
das wäre nämlich für mich eine irsinns erleichterung, da meine tabellen immer mindestens 2 A4 seiten haben...
danke

mfg Matthias Huttar

  1. Grüssi!

    XML an sich definiert ja nur daten, und nicht das format, das format wird anderst definiert, eben über stylesheets.

    Stimmt, das ist das schöne daran :-)

    Ist es jetzt auch vom W3 konsortium gestattet, die xml tags durch einen filter laufen zu lassen, der die tags durch was anderes ersetzt?

    Solang das andere wohlgeformtes xml ist, xhtml zum Bleistift, hat das W3C sicher nix dagegen. Auch falls es Frontpage-HTML als Output hat ist es dem W3C wurscht, aber es spricht gegen den Sinn von xml!

    Ich weiss nicht ob du schon von XSLT gehört hast, daher einfach mal ein Link ins Blaue:

    http://www.w3.org/TR/xslt.html

    also z.B. dass er aus einem
    <firma>
    <mitarbeiter>
      <name>hubert</name>
      <abteilung>IT</abteilung>
      <kostenstelle>1234</kostenstelle>
    </mitarbeiter>
    </firma>

    über ein PHP script einen filter machen könnte, der z.B. die tags durch soetwas ersetzt:

    <firma> -> <table border="0" cellpadding="0" cellspacing="0" align="center">
    <mitarbeiter> -> <td bgcolor="black">
    <name> -> <td><b>

    Hier ein paar wirklich gelungene Artikel zum Thema XML mit PHP:

    http://www.phpbuilder.com/columns/justin20000428.php3?print_mode=1
    http://www.phpbuilder.com/columns/justin20001025.php3
    http://www.onlamp.com/pub/a/onlamp/2001/03/16/sablotron.html

    wäre das jetzt noch genaugesehen der einsatz von XML (also dürfte ich darunter schreiben, dass diese seite XML verwendet)?

    Wieso willst du das dazuschreiben? Du willst doch etwa nicht angeben damit ;-) *g* Das W3C schreibt niemandem vor, was er auf seine Seiten schreiben soll. Du kannst draufschreiben dass deine Seiten xhtml-strict valide sind, obwohl sie vielleicht nichtmal html3.2-valide sind, das juckt niemanden ;-)

    oder gibt es solche ersetzungsmöglichkeiten wie ich sie hier beschrieben habe eh schon und habe ich nur ein mieses buch gekauft?

    schau dir die Links an! mit expat hast du die Möglichkeit ein z.b. "maparray" zu definieren, jedesmal wenn der Parser dann auf ein <title>-Element trifft macht er daraus einfach das korrespondierende <h2> oder was auch immer du im maparray als value für den Key 'title' angegeben hast!

    das wäre nämlich für mich eine irsinns erleichterung, da meine tabellen immer mindestens 2 A4 seiten haben...

    Eventgesteuerte Parser haben eben so manche Vorteile ;-) Aber wenn du viele gleichnamige Elemente hast, wird a bissl komplizierter *fg*

    Einen Link geb ich dir noch mit aufm Weg:
    http://www.phpxml.org/scripts/documentation/ (Ein PHP-Modul - in php geschrieben - zum Abfragen einer xml-Datei nach XPath-Syntax)

    lg bernhard

  2. hallo,

    XML an sich definiert ja nur daten, und nicht das format, das format wird anderst definiert, eben über stylesheets.

    ganz genau. warum ich das so betone? weil wie es mit scheint, du meinst mit stylesheets nur css.

    Ist es jetzt auch vom W3 konsortium gestattet, die xml tags durch einen filter laufen zu lassen, der die tags durch was anderes ersetzt?

    über ein PHP script einen filter machen könnte, der z.B. die tags durch soetwas ersetzt:

    <firma> -> <table border="0" cellpadding="0" cellspacing="0" align="center">
    <mitarbeiter> -> <td bgcolor="black">
    <name> -> <td><b>

    oder gibt es solche ersetzungsmöglichkeiten wie ich sie hier beschrieben habe eh schon und habe ich nur ein mieses buch gekauft?

    ich weiss zwar nicht welches buch du gekauft hast, aber was du möchtest ist nicht anderes als, das was schon unter XSLT existiert.

    du nennst es "filter" und "ersetzten", du kannst es aber beim namen nennen und transformieren sagen. damit sind wir dann beim xsl(t)
    "extensible stylesheet language (transformation)"

    natürlich ist es so, dass du nicht gezwungen bist xslt zu verwenden.
    es ist ja egal wie du aus deinem xml eine html seite erstellt.
    das forum hier basiert auch durchgängig auf xml, die transformation passiert jedoch nicht mit xsl, sondern mit perl und einigen templates.

    wenn es für dich einfacher, oder auch nur technisch leichter ist php zu benützen, tue es. ;-)

    grüße
    thomas

    1. hallo

      also möchte ich hier vielleicht das ziel meines großen unternehmens bekanntgeben, welches ich überschwenglicherweise als 100701 bezeichne ;) (ja, das projekt heisst aber wirklich so)
      ich möchte dort ein paar sachen behandeln, zu denen es meiner meinung nach noch keine tutorials gibt, und anhand von praktischen Beispielen auch gleich die Anwendungen verschiedener Webtechnologien präsentieren, deshalb wird auch jede seite einen link haben, der den sourcecode (den serverseitigen mit allem phpzeugs und so drinnen) anzeigen lässt (mit syntaxhighlightung und solchen tollen effekten) sowie einen zum download der datei.
      ja, was unter tutorials fällt, sind dinge, die man sonst nicht so schnell findet, v.a. gut und in deutsch. Ich glaube von mir behaupten zu können, dass ich recht gut erklären kann, und deshalb wird es unter anderem PHP, PL, etc tutorials geben, allerdings will ich nicht nur die frage "was ist das, wie geht das?" behandeln, sondern auch "wofür brauch ich was" und "was kann ich womit einfacher machen?"...
      ein weiterer teil meiner Seite wird sich auf den aspekt der kreativität im Netz beziehen (versuchen den leuten nahezubringen, wie man selbst kreative seiten erstellt)
      ach ja: und was mir der wichtigste punkt ist: ich will mit der seite auch "persöhnlichkeit" ins netz bringen also die leute etwas über mich wissen lassen, mich selbst interessiert es immer enorm, was der webdesigner für ein mensch ist, wie er lebt, was ihn interessiert und so... halt einfach ob es einer dieser typen ist, der kein leben ausserhalb des computers hat oder was auch immer. ein teil über den author gehört für mich irgendwie auf jede webseite.

      na gut, genug des verworrenen textes... ich werd übrigens noch ein thema zu persönlichkeit im internet aufmachen...

      1. hallo,

        also möchte ich hier vielleicht das ziel meines großen unternehmens bekanntgeben,

        ich kann dir nur sagen, dass ich dir viel geduld/ausdauer und viel erfolg für dein vorhaben wünsche.
        und wenn du mir noch erlaubst eine frage zu stellen:
        warum hast du all das, was du hier "sagtest" jetzt mir gesagt? ;-)

        grüße
        thomas

        1. hallo,

          also möchte ich hier vielleicht das ziel meines großen unternehmens bekanntgeben,

          ich kann dir nur sagen, dass ich dir viel geduld/ausdauer und viel erfolg für dein vorhaben wünsche.
          und wenn du mir noch erlaubst eine frage zu stellen:
          warum hast du all das, was du hier "sagtest" jetzt mir gesagt? ;-)

          grüße
          thomas

          hallo
          ich weiss nicht, sollte irgendwie auch als antwort zu dem post von bernhard preissl sein (wegen seines kommentares warum ich drunter schreiben möchte, dass das XML ist), ich hätts nicht direkt als antwort auf dich schreiben sollen... naja zu spät dafür.
          mfg
          Matthias huttar

          1. Grüssi!

            ich weiss nicht, sollte irgendwie auch als antwort zu dem post von bernhard preissl sein (wegen seines kommentares warum ich drunter schreiben möchte, dass das XML ist), ich hätts nicht direkt als antwort auf dich schreiben sollen... naja zu spät dafür.

            es ist nie zu spät ;-)

            Jetzt wird mir auch einiges klar, denn erst habe ich den Zusammenhang deiner Antwort auf Thomas' Posting und deinem Ausgangsthread nicht so wirklich gerafft. Ich unterstelle mal, du willst dass deine Tutorial-Besucher sehen, dass xml hinter deiner Seite steckt und sie sich das auch ansehen können ?! Da würd aber ein einfacher Kommentar zur xml-Datei im Source-code reichen, der interessierte Surfer kriegt eh gleich ganz grosse rote Augen wenn er irgendwo '.xml' liest, denn das sieht man normalerweise recht selten, obwohls mittlerweile bei vielen grossen Seiten als Hintergrund'technologie' eingesetzt wird.

            Ich persönlich habe auch immer gesucht und gesucht, und mich geärgert: wo ist das verdammte xml-zeugs ?!? jeder redet davon und nirgends sehe ich auch nur einen Deut davon! Tja, mittlerweile weiss ich ein bissl mehr - danke Thomas :-) - und hab mich nunmal damit abgefunden, dass xml ein sehr scheues Wesen ist, es versteckt sich immer im Hintergrund, und lugt nur ab und zu mal aus einer URL hervor. Hier im Forum würde man ja auch nicht auf den ersten Blick erkennen dass es "xml-empowered" ist ;-)

            Zum Thema Sourcecode der Seiten anzeigen noch ein kleiner Link von mir. Ich nicht ob du das nicht schon kennst, aber auf php kann man sich von jeder (php)-Seite aufm Server den Code ansehen. Unter anderem auch von der php-Seite, die den Code der php-Seiten anzeigt

            http://www.php.net/source.php?url=/source.php ;-)

            lg bernhard

            1. Tja, so a schaas :-( jetzt ist mir das doch tatsächlich selbst auch passiert!

              http://www.php.net/source.php?url=/source.php ;-)

              Ist das eigentlich schon in der offiziellen Buglist? Oder ist euch das ohnehin schon aufgefallen? Diese kaputten ?url=.. links sind letztens ziemlich häufig gekommen ;-)

              lg bernhard

              1. Moin,

                http://www.php.net/source.php?url=/source.php ;-)

                Ist das eigentlich schon in der offiziellen Buglist? Oder ist euch das ohnehin schon aufgefallen? Diese kaputten ?url=.. links sind letztens ziemlich häufig gekommen ;-)

                hmm, jaaa, jein.

                / im Querystring von HTTP-Urls sind afaik nicht erlaubt (und ? auch nicht, wie letztens gerade), man moege mich eines besseren belehren, sollte ich das falsch aus den RFCs gelesen haben.

                Viele Gruesse,

                n.d.p.

                1. hallo N.D.

                  hmm, jaaa, jein.

                  / im Querystring von HTTP-Urls sind afaik nicht erlaubt

                  und ? auch nicht,

                  doch. beide.

                  "The characters ";", "/", "?", ":", "@", "=" and "&" are the characters which may be reserved for special meaning within a scheme. No other characters may be reserved within a scheme."

                  und

                  "An HTTP URL takes the form:
                  http://<host>:<port>/<path>?<searchpart>
                  ...
                  Within the <path> and <searchpart> components, "/", ";", "?" are
                  reserved.  The "/" character may be used within HTTP to designate a
                  hierarchical structure."

                  und

                  httpurl        = "http://" hostport [ "/" hpath [ "?" search ]]
                  hpath          = hsegment *[ "/" hsegment ]
                  hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
                  search         = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

                  alles in
                  http://www.ietf.org/rfc/rfc1738.txt

                  grüße
                  thomas

                  1. Moin Thomas,

                    / im Querystring von HTTP-Urls sind afaik nicht erlaubt
                    und ? auch nicht,

                    doch. beide.

                    [...]

                    httpurl        = "http://" hostport [ "/" hpath [ "?" search ]]
                    hpath          = hsegment *[ "/" hsegment ]
                    hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
                    search         = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

                    search         = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
                    uchar          = unreserved | escape
                    unreserved     = alpha | digit | safe | extra
                    alpha          = lowalpha | hialpha
                    digit          = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
                                     "8" | "9"
                    safe           = "$" | "-" | "_" | "." | "+"
                    extra          = "!" | "*" | "'" | "(" | ")" | ","
                    escape         = "%" hex hex

                    da taucht nirgends ein ? oder ein / auf, sitze ich auf dem Schlauch, oder wie? *g*

                    Viele Gruesse,

                    n.d.p.

                    1. hallo N.D.

                      da taucht nirgends ein ? oder ein / auf, sitze ich auf dem Schlauch, oder wie? *g*

                      es geht um links wie:
                      http://www.php.net/source.php?url=/source.php

                      An HTTP URL takes the form:
                      http://<host>:<port>/<path>?<searchpart>

                      http://www.php.net/source.php?url=/source.php
                      http://host(ohne port)/path/?searchpart

                      <path> is an HTTP selector, and <searchpart> is a query string. The <path> is optional, as is the <searchpart> and its preceding "?".

                      also das "?" hätten wir ja.
                      --

                      Within the <path> and <searchpart> components, "/", ";", "?" are    reserved.  The "/" character may be used within HTTP to designate a
                       hierarchical structure.
                      und es gibt noch inige aussgaen bei reserved charakter bzw. bei relativen url's.
                      man kann darüber streiten, ob es sinnvoll ist wenn ein URL selbst im searchpart vorkommt, aber es ist nicht ausgeschlossen.

                      grüße
                      thomas

                      1. Hi Thomas!

                        Within the <path> and <searchpart> components, "/", ";", "?" are    reserved.

                        Les' nochmal genau: Da steht 'reserved', was imho heisst, dass sie reserviert sind, also nicht verwendet werden dürfen, ergo, dass ndp leider recht hat :-(

                        Aber vielleicht könnte er ja eine Ausnahme machen, sonst müsste man bei einem Link wie dem von fjh kürzlich ordentlich viele / duch seinen hex-wert ersetzen!

                        eine URL wie http://microsoft/code.asp?url=/microsoft/default.asp?bla=bla ist also definitif eine (doppelt und vierfach) inkorrekte url *g*

                        lg bernhard

                        1. hallo bernhard,

                          leute ich gebe es auf.
                          ich weiss nicht, warum ihn den RCF nur oberflächlich liest. :-(
                          ich habe keine lust jeden satzt der drinn steht nochmal zu erklären.

                          :-(

                          grüße
                          thomas

                      2. Moin Thomas,

                        es geht um links wie:
                        http://www.php.net/source.php?url=/source.php

                        http://<host>:<port>/<path>?<searchpart>

                        <path> is an HTTP selector, and <searchpart> is a query string. The <path> is optional, as is the <searchpart> and its preceding "?".
                        also das "?" hätten wir ja.

                        Als Trenner zwischen <path> und <searchpart>, ja

                        Within the <path> and <searchpart> components, "/", ";", "?" are    reserved.

                        genau, und "reserved" characters sind im <searchpart> nicht erlaubt

                        search = unreserved | escape

                        man kann darüber streiten, ob es sinnvoll ist wenn ein URL selbst im searchpart vorkommt, aber es ist nicht ausgeschlossen.

                        aber es ist falsch, so wie ich das sehe.

                        http://www.php.net/source.php?url=%2Fsource.php

                        waere richtig - und wird ja auch erkannt ;) (ich kann ja nix dafuer, wenn die Seiten ungueltige Links anbieten)

                        Viele Gruesse,

                        n.d.p.

                        1. hallo N.D.

                          genau, und "reserved" characters sind im <searchpart> nicht erlaubt

                          doch. sie müssen nur maskiert sein.

                          http://www.php.net/source.php?url=%2Fsource.php

                          genau so.

                          du hast natürlich recht, dass es unmaskiert falsch ist.

                          grüße
                          thomas

                          1. Moin Thomas,

                            genau, und "reserved" characters sind im <searchpart> nicht erlaubt
                            doch. sie müssen nur maskiert sein.

                            puh, dann haben wir uns also die ganze Zeit um eine Definition gestritten?

                            ein maskiertes "reserved-character" faellt fuer mich nicht unter reserved sondern unter escape...

                            http://www.php.net/source.php?url=%2Fsource.php
                            genau so.

                            aber brechen wir hier lieber ab, wir sind ja eh einer Meinung, ausserdem: http://sourceforge.net/tracker/index.php?func=detail&aid=423408&group_id=21057&atid=121057 ;-))

                            Viele Gruesse,

                            n.d.p.