Cyx23: "Datenfreiheit" contra W3C oder Mozilla?

Hallo,

"...weitgehend einig, dass XML die Zukunft gehört, was die einheitliche Speicherung von Daten betrifft."
steht z.B. in der selfhtml Einführung zu xml.

Meine Idee, das XML-Format zur Speicherung und Darstellung von Daten zu benutzen scheint schonmal richtig.
Nun gelange ich aber schon bei sehr einfachen Beispielen schnell an den Widerspruch, in der "Datenbank", also der *.xml, die xsl-Datei einbinden zu müssen.

Der grösste Unfug überhaupt, ich müsste offenbar für jeden "Index" eine neue Datenbank haben?
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="index1.xsl" ?>
Es ist also offenbar so als wenn ich bei dBase die jeweils zur Sortierung oder Selektion gebrauchten *.ntx gleich fest in die *.dbf reinschreibe...

Anders beim IE 6, hier kann ich in eine *.html das Abfrageschema und die getrennten Daten einbinden.
<xml id="m_dat" src="meine_daten.xml"></xml>, da bleibt meine_daten.xml wenigstens intakt.

Hab ich was übersehen, wie kriege ich eine xslt-Konstruktion so hin, dass ein xml importiert wird?
Kann ich etwas wie <xml:import href="meine_datem.xml" /> in eine xml-datei einsetzen?

Grüsse

Cyx23

  1. Hallo,

    Meine Idee, das XML-Format zur Speicherung und Darstellung von Daten zu benutzen scheint schonmal richtig.
    Nun gelange ich aber schon bei sehr einfachen Beispielen schnell an den Widerspruch, in der "Datenbank", also der *.xml, die xsl-Datei einbinden zu müssen.

    Der grösste Unfug überhaupt, ich müsste offenbar für jeden "Index" eine neue Datenbank haben?
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="index1.xsl" ?>

    das ist nich immer so.
    bei einigen parser muss du das so machen, bei anderen nicht.
    wenn du deine xml dateien clientseitig transformieren willst, geht das nur so.

    Es ist also offenbar so als wenn ich bei dBase die jeweils zur Sortierung oder Selektion gebrauchten *.ntx gleich fest in die *.dbf reinschreibe...

    wovon redest du bitte?

    Anders beim IE 6, hier kann ich in eine *.html das Abfrageschema und die getrennten Daten einbinden.
    <xml id="m_dat" src="meine_daten.xml"></xml>, da bleibt meine_daten.xml wenigstens intakt.

    ja und? das ist etwas anderes. nämlich die xml-data-islands. eben eine M$ eigenheit für die verarbeitung von xml daten.

    Hab ich was übersehen, wie kriege ich eine xslt-Konstruktion so hin, dass ein xml importiert wird?

    mir ist nicht klar was du eigentlich möchtest.
    natürlich kannst du in xslt- auch andere dateien (auch xml) hineinholen.  dazu gibt z.B. das document() funktion.

    Kann ich etwas wie <xml:import href="meine_datem.xml" /> in eine xml-datei einsetzen?

    das ist mal wiederum was anderes.... willst du jetzt in xsl dateien includieren, oder in deine xml selbst.

    willeicht machst du 5 min. pause und dann postest nochmal in ruhe was das problem ist?

    grüße
    thomas

    1. Hallo,

      willeicht machst du 5 min. pause und dann postest nochmal in ruhe was das problem ist?

      werds mal versuchen, hoffentlich nicht zu umständlich.

      Ich möchte Daten in einer Datei speichern.

      Aus diesen Daten sollen nach Bedarf verschiedene Ansichten erstellt werden.

      Zum Beispiel cd.xml wie folgt :
      <CATALOG>
       <CD>
        <TITLE>Empire Burlesque</TITLE>
        <ARTIST>Bob Dylan</ARTIST>
        <COUNTRY>USA</COUNTRY>
        <COMPANY>Columbia</COMPANY>
        <PRICE>10.90</PRICE>
        <YEAR>1985</YEAR>
       </CD>
       <CD>
        <TITLE>Hide your heart</TITLE>

      usw..

      Diese cd.xml beinhaltet die Daten.

      Nun möchte ich später diese Daten so anzeigen, dass nur
      <TITLE> .. </TITLE>
      <PRICE> .. </PRICE>
      angezeigt werden.
      Oder nach Bedarf eben anders.

      Um das zu erreichen kann ich beim IE nicht nur von einer html, sondern von/aus mehreren html auf ein *.xml zugreifen.

      Mit verschiedenen html kann ich also verschieden zugreifen und die cd.xml bleibt immer gleich.
      Genau das soll als Ergebnis rauskommen, und möglichst auch für den Mozilla zugänglich sein.

      Bei xslt muss offenbar <?xml-stylesheet type="text/xsl" href="index1.xsl" ?> in die xml rein.
      Mit der xsl-datei, hier index1.xsl, kann ich ebenso erreichen, dass nur Teile der xml angezeigt werden.
      Es ging bei meinen Beispieldateien sogar für Mozilla und IE gleich.
      Aber anscheinend muss ich die betr. Zeile in die xml reinflicken, damit wird das Ganze ziemlich unsinnig, weil dann nur eine Ansicht der Daten möglich ist.

      Es sei denn, man kann eine *.xml mit dem xsl-Aufruf erstellen, wobei diese *.xml eben nicht selbst die Daten enthält, sondern diese aus einer anderen xml importiert.
      Also eine index1.xml importiert index1.xsl und cd.xml.
      Die index2.xml importiert index2.xsl und wieder cd.xml.
      Und das möglichst clientseitig und ohne script.

      Grüsse

      Cyx23

      1. hallo,

        Ich möchte Daten in einer Datei speichern.
        Aus diesen Daten sollen nach Bedarf verschiedene Ansichten erstellt werden.
        Nun möchte ich später diese Daten so anzeigen, dass nur
        <TITLE> .. </TITLE>
        <PRICE> .. </PRICE>
        angezeigt werden.
        Oder nach Bedarf eben anders.

        Um das zu erreichen kann ich beim IE nicht nur von einer html, sondern von/aus mehreren html auf ein *.xml zugreifen.

        wie gesagt, dass ist der IE mit seinen xml-data-islands.

        Bei xslt muss offenbar <?xml-stylesheet type="text/xsl" href="index1.xsl" ?> in die xml rein.

        wenn du es clienstseitig machen willst auf alle fälle. (stell dir das so vor wie html und css, dort muss du ja auch die css datei einbinden)

        Es sei denn, man kann eine *.xml mit dem xsl-Aufruf erstellen, wobei diese *.xml eben nicht selbst die Daten enthält, sondern diese aus einer anderen xml importiert.
        Also eine index1.xml importiert index1.xsl und cd.xml.
        Die index2.xml importiert index2.xsl und wieder cd.xml.
        Und das möglichst clientseitig und ohne script.

        ja das kannst du machen, dazu kannst du das document() funktion in xslt nützen
        so ein beispiel ist schon im archiv :http://forum.de.selfhtml.org/archiv/2001/12/1564/#m9454

        oder http://forum.de.selfhtml.org/archiv/2002/3/7685/#m42840
        oder http://forum.de.selfhtml.org/archiv/2002/5/11707/#m64889

        diese veranschaulichen dir, wie du document() verwenden kannst.

        einfacher wäre es jedoch mit scripting (DOM)
        http://forum.de.selfhtml.org/archiv/2001/7/27137/#m141346
        für die M$ syntak kannst du auch beispile im archiv finden z.B. http://forum.de.selfhtml.org/archiv/2002/8/20401/#m114310

        oder serverseitig, wo du enfach parameter an dein xsl-sheet übergeben könntest.

        grüße
        thomas

        http://forum.de.selfhtml.org/archiv/2001/7/27137/#m141346