Announcement

Collapse
No announcement yet.

xml und style sheet

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • xml und style sheet

    hallo zusammen,

    ich bin ein ziemlicher neuling in xml. habe mal reingeschnuppert und eine grobe vorstellung bekommen, was so der zusammenhang xml und style sheet ist.

    sehe ich das richtig, eine xml datei beinhaltet die daten und das style sheet ist für das layout der daten zuständig ?

    wenn dem so ist, dann wäre auch das ss dafür zuständig, wenn das layout in unterschiedlichen daten existieren soll. die xml datei müsste ein kennzeichen haben, das das ss entsprechend auswertet.

    bin ich da noch richtig ?

    ich benötige die info, weil ich aus einer host (mainframe) datei, eine xml datei erstellen soll und es ergab sich die frage, wer die daten für sprachlich unterschiedliche layout erzeugen muss.

    merci

    michael

  • #2
    Im Zusammenhang mit XML kann ein Stylesheet u.a. ein CSS-Stylesheet sein oder auch ein XSLT-Stylesheet. XSLT ist eine Programmiersprache, ein XSLT-Stylesheet ist selber ein XML-Dokument und sein Wurzelelement ist "xsl:stylesheet" oder "xsl:transform". Ein XSLT-Stylesheet transformiert ein XML-Dokument in einem Format in ein anderes Format, dabei muss es nicht notwendigerweise um Layout gehen.

    Deine Frage mit "wenn das layout in unterschiedlichen daten existieren soll" verstehe ich nicht, was ist ein "Layout in unterschiedlichen Daten"?

    Comment


    • #3
      das ist auch nicht zu verstehen - war ein tippfehler. :-(

      es geht mir mehr um die frage, wer oder was bringt meine daten (aus dem xml dokument) in form ?

      wer sorgt dafür das oben rechts das logo steht, meine daten in tabellenform in der mitte angezeigt werden und unten noch ein schlauer spruch steht ? und das man das ganze auf französich oder englisch bekommen kann, je nach dem wie man es aufruft.

      mir schweben da so begriffe wie daten- und präsentation layer im kopf herum. gibt es hier nicht solche trennung ?

      gruss

      michael

      Comment


      • #4
        In welchem Format soll denn das Resultat vorliegen? Wie gesagt, XSLT ist in erster Linie eine Programmiersprache, die XML als Eingabe verarbeitet und dann als Resultat wieder XML oder aber auch HTML oder einfach Text ausgibt. So kann man natürlich aus XML, das Daten repräsentiert, ein HTML-Dokument erzeugen, das (dann aber unter Umständen unter der Hilfe von CSS) ein gewisses Layout durchzusetzen versucht, aber gerade HTML ist ja sicher kein Format, bei dem man ein Layout erzwingen kann, gerade heute, wo der eine mit einem Desktop-Browser und 24 Zoll Bildschirm unterwegs ist und der nächste eventuell mit einem Handy-Browser und entsprechend sehr viel kleinerem Bildschirm.
        PDF ist eher ein Format, das ein Layout erzwingt, das erzeugt man dann mit XSLT, indem man per XSLT als Ausgabe ein XSL-FO Dokument (http://www.w3.org/TR/xsl/) erzeugt, das dann von einem FO-Prozessor in PDF umgewandelt wird.
        Aber man kann XSLT auch benutzen, um ein XHTML-Dokument, das ja schon eine Präsentationsschicht ist, in ein anderes Format umzuwandeln.

        Was die Verwendung von Sprachen angeht, so gibt es da das vordefinierte Attribut xml:lang, das man verwenden kann, um die Sprache auszuzeichen:
        Code:
        <words>
          <word xml:lang="de">Dokument</word>
          <word xml:lang="en">document</word>
          <word xml:lang="es">documento</word>
        </words>
        und XSLT/XPath erlauben dann mittels der "lang" Funktion das Finden von Elementen in einer Sprache, also der Pfadausdruck
        Code:
        /words/word[lang('de')]
        selektiert alle "word"-Elemente, die als Deutsch ausgezeichnet sind.
        Will man jetzt ein XSLT-Programm schreiben, das je nach Sprache Daten auswählt, dann kann man halt einen globalen Parameter per xsl: param definieren, und diesen setzen, bevor eine Transformation ausgeführt wird.

        Das sind technische Implementierungsansätze, du scheinst eher nach konzeptionellen Ansätzen zu suchen, vielleicht kann dazu jemand anderes mehr sagen.

        Comment

        Working...
        X