Gerald Predl: Wozu überhaupt??

Hye!

Nachdem ich dieses Forum leider schon lange nicht mehr besucht habe, habe ich jetzt doch wieder einen Grund dafür. Wie sollte es anders sein, wie viele andere, hab auch ich wieder mal eine Frage.

Es geht um XML. Ein Kunde steht vor der Aufgabe den Inhalt seiner Homepage in SGML oder XML an eine andere Firma liefern zu müssen. Bis Ende September muss dies funktionieren. Verantwortlich dafür schimpft sich meine Wenigkeit.

Jetzt hab ich schon einiges über SGML/XML gelesen und auch das Archiv durchstöbert. Aber soviel ich auch lese, ich verstehe nicht ganz den 'Hintergrund' von XML.

Im Moment verstehe ich es so, dass XML nur dem Datenaustausch diehnt. OK, is ja ok. Aber wofür die ganzen DTD's und dieses Geschrei? Es geht doch nur darum, dass man in HTML-Manier eine Art Datenbank erstellt, oder?

Das kann ich doch auch ohne XML. Bastle mir einfach txt-Dateien die von mir festgelegte Tags enthalten, und werte diese Tags mittels irgendeinem Script oder Programm aus. Da ich ja im grossen und ganzen beliebige Tags definieren kann, kann ein Programm, das meine Tags nicht kennt doch nix damit anfangen, oder?

Die DTD sagt ja auch nur welche Elemente in der XML Datei vorkommen, und nicht was damit gemacht werden soll bzw. wie die Ausgabe aussehen soll.

Was mich eigentlich interessiert:
Der Content, denn der Kunde 'liefern' muss, besteht aus Börseninfos. Das es da bereits Stadardisierte Tags gibt, kann ich mir nicht vorstellen. Woher weiss ich also in welcher Form der Emfpänger die XML Dateien benötigt?

DANKE für eure Hilfe.

mfg

Gerald Predl

  1. Momentan ist XML immernoch ein Baby-Jahr (Anfangsphase) und das hört sich ja wie HTML 1.0 *g*

    Es hat auch keinen Zweck jetzt schon XML umzuprogrammieren, denn sonst können viele Browser nicht dargestellt werden. Erst in 2 und 3 Jahren wird es dann bestimmt endlich soweit sein, so dass größenteils ab NN6 + IE5 und höher nutzen :)

    Mfg Marco

    1. Hallo

      Momentan ist XML immernoch ein Baby-Jahr (Anfangsphase) und das hört sich ja wie HTML 1.0 *g*

      XML wird sich in absehbarer Zeit auch nicht weiter verändern. Es ist eine Metasprache, die lediglich Werkzeug für die Erstellung von Anwendungen (wie HTML oder sonstige Dokumententypen) zur Verfügung stellt. Sowas wie ständig neu auftauchende Tags wird es demnach nicht geben.
      Sehr wohl wird es aber bezüglich der Dokumententypen ein herauskristallisierung für Standards geben (beispielsweise Börsendaten usw.). Und da ist zur Zeit noch Bewegung drin, daß stimmt. Insofern kann man Dir zustimmen. Nur das eben nicht XML noch in den Kinderschuhen steckt, sondern deren Anwendung.

      Es hat auch keinen Zweck jetzt schon XML umzuprogrammieren, denn sonst können viele Browser nicht dargestellt werden. Erst in 2 und 3 Jahren wird es dann bestimmt endlich soweit sein, so dass größenteils ab NN6 + IE5 und höher nutzen :)

      Die Umsetzung muss ja nicht zwangsläufig durch den Browser erfolgen. Schon jetzt gibt es Systeme, die XML zu nutzen wissen auf JEDEM Browser. Apaches Cocoon beispielsweise. Das ist ein Publishing-Tool (als Apache-Plugin), mit dem Du Deine Daten als XML auf dem Webserver ablegst. Und je nachdem, mit welchen 'Browser' die XML-Seite abgerufen wird, liefert Cocoon die Daten als HTML, WML, PDF oder was auch immer an den Client zurück.

      Gruß
         Michael

    2. Hallo Marco!

      Momentan ist XML immernoch ein Baby-Jahr (Anfangsphase) und das hört sich ja wie HTML 1.0 *g*

      Es hat auch keinen Zweck jetzt schon XML umzuprogrammieren, denn sonst können viele Browser nicht dargestellt werden. Erst in 2 und 3 Jahren wird es dann bestimmt endlich soweit sein, so dass größenteils ab NN6 + IE5 und höher nutzen :)

      *lol*

      Der XML 1.0 Standard ist aus dem Jahr 1998.

      XML ist auch gar nicht dafür gedacht, daß die Browser es darsatellen können  (das sie es können ist nur ein nettes gimmick)
      Was das Nutzen angeht: du würdest dich wunder wie viele Sites im Hintergrund bereits XML als Datenbasis nützen.
      Davon ganz abgesehen: die neuesten Content Managemant Systeme besieren ebeso auf XML, wie Foren http://www.vbxml.com/messageboards/msgboard.asp?board= usw.

      Grüße
      Thomas

      1. Hallo Thomas

        Was das Nutzen angeht: du würdest dich wunder wie viele Sites im Hintergrund bereits XML als Datenbasis nützen.

        Genau das würde ich gerne genauer wissen! Wie verwendet man xml-Dateien als Datenbasis. Werden die direkt mit XSL an den Brauser geliefert, oder sind da noch irgenwelche PHP oder ASP oder sonstiger Serverkram dazwischen?? Wenn ja wie schaut das aus, was machen die mit den XML-Daten! Ich kann mir da echt nix drunter vorstellen.

        Und eine www.irgendwas.com/datei.xml ist mir beim surfen einfach noch nie untergekommen, kann man ja auch nicht machen, weil das ja nur ein Bruchteil der Konsumenten lesen kann (Brauserei-Problem)!

        Ich könnte mir nämlich auch gut vorstellen, dass ich das dort wo ich arbeite gut einsetzen könnte (Seminaranbieter-Kursverwaltung), aber wie ???

        Davon ganz abgesehen: die neuesten Content Managemant Systeme besieren ebeso auf XML, wie Foren http://www.vbxml.com/messageboards/msgboard.asp?board= usw.

        Vielleicht könntest du uns ja mal ein paar Seiten zeigen, die XML verwenden. Sehen tut man das ja nirgends oder? Du hast bestimmt schon einige gesehen, oder du zeigst uns mal eine von den deinen ;-)

        <grüsse />
        Bernhard

        1. Hallo Bernhard!

          Vielleicht könntest du uns ja mal ein paar Seiten zeigen, die XML verwenden. Sehen tut man das ja nirgends oder? Du hast bestimmt schon einige gesehen, oder du zeigst uns mal eine von den deinen ;-)

          Z.B.:
          http://www.nfhouse.org/

          Bis auf die Hilfedateien gibt es keine statische html Seiten. Alle Daten (z.B. auch die Koordinaten für die Imagemaps und für die gelben Punkte) liegen in XML Dateien. Jede HTML Seite die in deinem Browser ankommt wird mit Hilfe von XSL Dateien (also mit XSLT) erzeugt. Natürlich passiert das Serverseitig, sonst ginge das so nicht.

          Grüße
          Thomas

          1. Hallo Thomas

            Vielleicht könntest du uns ja mal ein paar Seiten zeigen, die XML verwenden. Sehen tut man das ja nirgends oder? Du hast bestimmt schon einige gesehen, oder du zeigst uns mal eine von den deinen ;-)

            Z.B.:
            http://www.nfhouse.org/

            Bis auf die Hilfedateien gibt es keine statische html Seiten. Alle Daten (z.B. auch die Koordinaten für die Imagemaps und für die gelben Punkte) liegen in XML Dateien. Jede HTML Seite die in deinem Browser ankommt wird mit Hilfe von XSL Dateien (also mit XSLT) erzeugt.

            <schwitz />

            Wird das dynamisch erzeugt, oder in html-files umgewandelt, abgespeichert, und so vom User aufgerufen? Anders könnte man das Ganze ja bloss mit IE5.x anschauen, nix mit NS.

            Deinem Link bin ich mal gefolgt, aber wieso linken die auf eine dll-Datei ?? Was steckt da für eine Sprache dahinter bzw. wer kriegt diesen query-string ?

            <schwitz />

            // <A href="/scripts/xlnisapi.dll?servicename=NFI&filename=/hs.xml&xslsheet=NFI:/DE/cat.xsl&export=html&cat=JH">

            Das ist mir alles so schleierhaft. Ich meine nicht XML selbst oder XSL(T), aber wie das dann in der Praxis eingesetzt wird! Was mit dem XML-Dateien gemacht wird ...

            <schwitz />

            Übrigens, kann man sich irgendwo mal Quelltext von so einer xml-Application ansehen (Incl. Stylesheet). Die sind so versteckt, die find ich einfach nie! Würd mich allerdings mal brennend interessieren, wie das ganze verknüpft ist, mit xml-file, stylesheet, Xsl-Processor, und, und, und ...

            <schwitz />

            Grüsse,
            Bernhard

            1. Hallo Bernhard!

              Wird das dynamisch erzeugt, oder in html-files umgewandelt, abgespeichert, und so vom User aufgerufen? Anders könnte man das Ganze ja bloss mit IE5.x anschauen, nix mit NS.

              Deinem Link bin ich mal gefolgt, aber wieso linken die auf eine dll-Datei ?? Was steckt da für eine Sprache dahinter bzw. wer kriegt diesen query-string ?

              das *.dll ist eine Bibliothek (hast du ja auch in deinem Windows einige davon)
              Es ist ein xml-server auf dem webserver istalliert und in den url'swird eben auf diese verwiesen, der Script (oder dll) bekommt dann in der url mitgelifert, welche XSL-Datei (xsl Maske) gefragt wird und aufgrund welche Parameter diese Datei mit Inhalten gefüllt werden muss. Der Script tut dann dieses und sendet eine HTML Datei am Browser zurück.

              Was mit dem XML-Dateien gemacht wird ...

              Mit der XML Datei wird nichts gemacht, sie stehen auf dem Server. Wenn eine Abfrage kommst und das kommt immer durch das Aufrufen eine XSL Datei, passiert folgendes: die XSL-Datei (nemmen wir es Maske, denn du kannst es dir so vorstellen: in der xsl Datei stet der HTML Gerüst eines Seitentyps und zwischendurch stehen xsl/xpath Abfragen und anweisungen für verschiedene Fälle, also eine Art Formular wo erst später die Inhalte eingefürt werden) sucht sich aus den xml Dateien die Daten zusammen die gefragt worden sind (was gefragt wird bestimmt ersten die Maske selbst (sprich, welche Maske aufgerufen wurd) und die übergegebenen Parameter dann werden diese Daten im HTML Gerüst eingefügt und so die HTML Seite erzeugt, diese wird dann an deinem Browser gesendet.

              Grüße
              Thomas

  2. Hallo Gerald

    Im Moment verstehe ich es so, dass XML nur dem Datenaustausch diehnt. OK, is ja ok. Aber wofür die ganzen DTD's und dieses Geschrei? Es geht doch nur darum, dass man in HTML-Manier eine Art Datenbank erstellt, oder?

    Mit XML ist es dir moeglich deine eigenen DTD's zu schreiben um dir beispielsweise Verarbeitende Programme schreiben zu koennen, die auf ebendiese Elemente reagieren und nicht z.B. auf HTML Elemente. So kannst du z.B. Elemente wie 'Preis', 'Marke' oder 'Warenanzahl' definieren. Zusammen mit einem Programm welches dieses Dokument dann ausliest weisst du dann immer beispielsweise 'Aha, der Kunde hat von der Marke X zum Preis von Y Z Stueck bestellt...'. Die Aufgabe der DTD's dabei ist es - wie es immer schon war - diese Elemente zu beschreiben. Die 'modernen' Browser schauen dann nur noch danach, ob deine Dokumente laut der angegebenen DTD korrekt sind oder nicht.

    Das kann ich doch auch ohne XML. Bastle mir einfach txt-Dateien die von mir festgelegte Tags enthalten, und werte diese Tags mittels irgendeinem Script oder Programm aus.

    ...und damit nicht jeder einfach eine txt-Datei bestelt nimmt man XML.

    Da ich ja im grossen und ganzen beliebige Tags definieren kann, kann ein Programm, das meine Tags nicht kennt doch nix damit anfangen, oder?

    Ja genau. Allerdings steht deshalb steht auch in einem Anhang einer XML Erlaeuterung die ich mal gelesen habe, dass es sehr warscheinlich ist, dass groesstenteils nur die vom W3C 'abgesegneten' DTD's als Standart anerkannt werden.

    Was mich eigentlich interessiert:
    Der Content, denn der Kunde 'liefern' muss, besteht aus Börseninfos. Das es da bereits Stadardisierte Tags gibt, kann ich mir nicht vorstellen. Woher weiss ich also in welcher Form der Emfpänger die XML Dateien benötigt?

    Nunja, du bist zwangsweise gezwungen dem User eine Moeglichkeit zu liefern, die es ihm moeglich macht, die Daten auszuwerten.

    gruss,
    frank_eee.

    PS: Falls du immernoch glauben solltest XML ist unnuetz, dann schau mal was aus WML geworden ist (Ist auch nur XML...).

  3. Hallo Bogus!

    Es geht um XML. Ein Kunde steht vor der Aufgabe den Inhalt seiner Homepage in SGML

    Kann ich mir nicht vorstellen.

    »»oder XML an eine andere Firma liefern zu müssen.

    Das schon eher.

    Aber soviel ich auch lese, ich verstehe nicht ganz den 'Hintergrund' von XML.

    Im Moment verstehe ich es so, dass XML nur dem Datenaustausch diehnt. OK, is ja ok.

    Wenn du damit schon hier fertig bist, dann muss du nicht weitermachen.

    Es geht eben um das was du mit "ja, ok" schon erledigt hast.
    Der größte Vorteil von XML ist seine Plattformunabhängigkeit. Es ist volkommen egal ob ein Unix, Windows oder andere System arbeitet, ja es ist sogar egal ob du dein XML in deutsch, chinesich oder arabisch schreibst. Die Arbeit wird von einem XML-Parser erledigt (was ein Programm ist) Der Parser prüft nur den Syntaxt von deinem XML und sonst nichts.
    Mit XML hast du eine Struktur in dem die Inhalte zueiender in Verbindung stehen (im Gegensatz zu einemn Datenbank wo nur die Tabellen(zellen) die Verbidungen enthalten)

    XML ist erweiterbar (eben: extensible) weil es jederzeit von jederman nach bedarf erweitert werden kann.

    Aber wofür die ganzen DTD's und dieses Geschrei? Es geht doch nur darum, dass man in HTML-Manier eine Art Datenbank erstellt, oder?

    Mit einem DTD legst du den Struktur für dein XML fest. Eine DTD dient auch dazu, daß dein XML nicht wild vor sich wuchern kann, sondern Regel folgt. Eben Regel, die dun in der DTD niedergeschrieben hast.
    XML ist nicht eine Datenbank in HTML Manieren. ;-) In HTML vermischt sich Inhalt, Struktur und Layout. XML ist nur für die ersten 2 da: nämlich einen Struktur für deine Inhalte anzubieten.

    Das kann ich doch auch ohne XML. Bastle mir einfach txt-Dateien die von mir festgelegte Tags enthalten, und werte diese Tags mittels irgendeinem Script oder Programm aus. >

    Ja und nein.

    XML ist keine Sprache wie HTML. XML ist viel mehr ein Regelwerk mit dessen Hilfe du deine eigene Sprache definieren kannst (eben deine eigene Tags und wenn du die Datei nicht mehr *.txt sonder *.xml nennst und du deine Tags richtig gesetzt hast, dann hast du eine well-formed XML Datei.

    »»Da ich ja im grossen und ganzen beliebige Tags definieren kann, kann ein Programm, das meine Tags nicht kennt doch nix damit anfangen, oder?
    »»

    Siehe dazu oben: einen XML-Parser interessiert nicht ob und wie und was für welche Tags du definiert hast: er überprüft nur ob deine Tags richtig geöffnet und geschlossen sind (well-formed) oder ob dein XML deiner DTD entspricht (valid)

    Die DTD sagt ja auch nur welche Elemente in der XML Datei vorkommen, und nicht was damit gemacht werden soll bzw. wie die Ausgabe aussehen soll.

    Ja so ist es: die Leute müssen lernen, daß XML nicht für das Layout zuständig ist. XML ermöglicht mit anderen X-Dingen (Wie XSLT und XPath) daß du auf alle deine Daten zugreifen kannst, diese nach belieben sortieren und weiterverarbeiten, und in verschiedenen Formaten (HTML, WML, RTF, PDF) ausgeben kannst.

    Was mich eigentlich interessiert:
    Der Content, denn der Kunde 'liefern' muss, besteht aus Börseninfos. Das es da bereits Stadardisierte Tags gibt, kann ich mir nicht vorstellen. Woher weiss ich also in welcher Form der Emfpänger die XML Dateien benötigt?

    Das kannst du nicht wissen (und eigentlich muss du es auch nicht wissen, es sei denn du hast schon Muservorlagen dafür)
    Ansonsten muss du die Daten in einem Struktur organisieren: den muss du selbst entwickeln und vermutlich auch eine DTD dazu. Du muss dafür sogen, daß alle Daten zugänglich sind damit einer Weiterverarbeitung nichts im Wege steht. Dazu musstest du auch wissen was die Leute mit den Daten anfangen wollen: sprich wie sie sie weiterverarbeiten wollen.

    Grüße
    Thomas

  4. Hi Gerald,

    Was mich eigentlich interessiert:
    Der Content, denn der Kunde 'liefern' muss, besteht aus Börseninfos. Das es da bereits Stadardisierte Tags gibt, kann ich mir nicht vorstellen. Woher weiss ich also in welcher Form der Emfpänger die XML Dateien benötigt?

    Das ist der Knackpunkt, das muss Dir der Auftraggeber schon sagen. Sinn macht das Ganze IMHO nur, wenn der Auftraggeber die XML-Daten irgendwie verarbeitet; dazu dürfte er einen Parser bzw. eine auf einem Parser basierende Applikation haben. Zur Vergleichbarkeit von XML-Daten, die von verschiedenen "Zulieferern" kommen, müssen die alle den selben "Regeln" folgen (also eine DTD oder ein Schema), und die muss er schon vorlegen.

    Wenn es nur drum ginge, aus Euren HTML-Dateien "XML" zu machen, könntest Du Dich ganz simpel aus der Affäre ziehen und Dein HTML in XHTML 1.0 umwandeln - das ist eine Untermenge von XML und damit gültiges XML. Aber so richtig was anfangen könnte Dein Auftraggeber damit nicht, zumindest nicht mehr als mit dem HTML selber.

    Grüße,

    Utz