Announcement

Collapse
No announcement yet.

Xml+xsl=html

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

  • Xml+xsl=html

    Hallo,

    kann jemand mir bitte helfen ? Ich bin nämlich ganz neu in der XML Szene.
    OK, ich habe mir selbst (viel Zeit gebraucht) ein XML-Beispiel gebastelt, das ungefähr so aussieht:<BR><BR>
    --------------------------------------------------------------------------------------------------------------------------
    <?xml version="1.0" encoding="ISO-8859-1"?><BR>
    <tree><BR>
    <gb gbName="TestGB"><BR>
    <partner partnerName="Gesell. Abfallver." kursType="Unternehmer" role="HE"><BR>
    <modul moldulName="Finanzielle Verhaeltnisse"></modul><BR>
    <modul moldulName="Kontofuehrung"></modul><BR>
    <modul moldulName="Markt und Wettbewerb"></modul><BR>
    <modul moldulName="Management"></modul><BR>
    </partner><BR>
    </gb><BR>
    </tree><BR>

    <BR>
    ------------------------------------------------------------------------------------------------------------------------------

    OK, das Beispiel habe ich im IE6 angeschaut und es scheint ok zu sein.
    Nun habe ich es gelesen, dass man mit XSL diese XML-Dokument formatieren kann. Aber ich weiss es nicht
    wie es ungefähr syntaxmässig aussehen soll. Kann jemand mir bitte helfen, wie ich diese Formatierung
    in XSL-Datei erstelle, um PartnerName, ModulName, usw. auslesen kann und darstellt ?

    Ich habe noch etwas gelesen, und zwar mit Hilfe des XSLParser kann man aus XML+XSL => HTML daraus machen.<BR>
    Es gibt zwar unterschiedliche XSLParser (beispiel MSXSL (von Microsoft)), da ich aber einen Apache Server unter NT <BR>
    habe, also Apache Win32, habe ich mir den XSLParser namens XALAN auf der www.apache.org heruntergeladen<BR>
    und ausprobiert. Es funktioniert soweit so gut. Aber ich kann dann nur sowas heraus lesen:

    XML-Doku<BR>
    --------------------------------------
    <BR>
    <Name>Lai</Name><BR>
    <Vorname>Loren</Vorname><BR>
    <BR>
    --------------------------------------
    aber wenn meine XML-Doku so definiert ist:<BR><BR>
    <BR>
    <partner partnerName="Gesell. Abfallver." kursType="Unternehmer" role="HE"><BR>
    <modul moldulName="Finanzielle Verhaeltnisse"></modul><BR>
    <BR>
    liest er gar nichts heraus, also ich will mir z.B. Gesell.Abfallver. , Unternehmer , HE herauslesen
    <BR>
    Wie sieht die XSL Datei dazu aus ? Mein XML-Dokument wie ganz oben beschrieben.
    Kann jemand mir bitte helfen ?

    Vielen Dank im voraus !

    Gruss,

    Loren

    Email:[email protected]

  • #2
    Hallo,
    habe auch schon mit xalan u. xreces rumgespielt..

    irgendwie stört mich was an Deinem Beispiel;meine XMLs
    sehen etwa so aus :
    .
    .
    <XML-DB>
    <RECORD>
    <NAME>Tchibo</NAME>
    <PRODUKT>Kaffee</PRODUKT>
    </RECORD>
    <RECORD>
    <NAME>...</NAME>
    <PRODUKT>...</PRODUKT>
    </RECORD>
    </XML-DB>
    also die Inhalte stehen zwischen den Tags;in den Tags kommen Attribute;diese werden ebenfalls in der DTD definiert.

    Produkt zum Testen wäre z.B. TIBCO : www.extensibilities.Com
    (entnommen aus Zeitschrift LINUX enterprise aktuelle Ausgabe)
    das gibts für viele Plattformen u. verwendet apache.crimson.. (???);
    das hat mir beim Lernen schon etwas geholfen.

    MfG
    Wol

    Comment


    • #3
      morgen!!!

      Da es sich bei den Daten, die du auslesen willst um Attribute handelt mußt du folgendermaßen aus sie zugreifen:
      <xsl:template match="partner">
      <xsl:value-of Select="@partnerName" />
      <xsl:value-of Select="@kursType" />
      <xsl:value-of Select="@role" />
      <xsl:apply-templates />
      </xsl:template>

      Erklärung:
      mit <xsl:template match="partner"> suchst du alle Knoten des Baums, die "partner" heißen.
      mit <xsl:value-of ....> gibst du den Wert aus.
      Das @ ist ganz wichtig, da du damit auf die Attribute zugreifst.
      Mit <apply-templates> werden alle weiteren Elemente angesprochen.
      Dafür ist dann ein weiteres template notwendig.

      Zu dem parser: hast du schon etwas von "Cocoon" gehört???
      Das ist ein mächtiges Java-Servlet, mit der man mittels XML und XSL HTML erzeugen kann... und noch vieles mehr (z.B. dynamische Seiten mit XSP oder PDF Dokumente). cocoon unterstützt Xalan,Xerces,xt und Fop.
      Eine wahre Fundgrube für XML ist www.xmlsoftware.com.

      Noch ein Buchtip: "XML in der Praxis" von Henning Behme und Stefan Mintert aus dem Addison-Wesley Verlag.

      Ich hoffe, ich konnte dir weiterhelfen

      Comment


      • #4
        Falls du (oder sonstwer) es schafft, Cocoon zu installieren, kannst du mir bitte mal ne kleine Anleitung dazu geben ?
        Ich bin sicher kein Neuling was Internet Applikationen angeht, aber das Teil raubt mir seit Wochen den letzten Nerv!
        Um das hinzukriegen muß man wohl erstmal drei Jahre Apachologie studieren..

        Comment

        Working...
        X