mehrere html aus einer xml über xsl

O

odie

Guest
Hallo

ich arbeite mit einem tollen tool (eXconv) mit dem man excell datein (xls/csv) in xml und dann über eine xsl in html wandeln kann

nun ist es so das ich eine tabelle hab in der versch. pdf-dateien aufgelistet sind die unterschiedliche sprachen, unterscheidliche produkttypen und unterschiedliche dokumententype(z.B Bedienungsanleitung, Handbuch...) haben.
Zu den versch. Kombinationen aus Sprache, ProduktTyp und Dokutyp sollen Übersichtsseiten erstellt werden.Um eine Seite zu erstellen hab ich mir auch ne tolle xsl geschrieben, es sollen aber ca. 195 solche Übersichtsseiten werden.
Besteht nicht die möglichkeit anhand eines xsl mir mehrere (wie gesagt 195) html generieren zu lassen in die ich dann auch meine if-Abfragen ein bauen kann damit pro Kombination auch nur die richtigen pdf aufgelistet werden

danke und mfg
odie
 
Die Frage ist, ob Du die Seiten statisch generieren lassen willst (um sie als HTML auf den Server hochzuladen) oder auf dem Server dynamisch generierst.

Die Lösung des XSLT Problems könnte in etwa so lauten - sofern ich Dich verstanden habe: (Setzt voraus, dass der XML Tag für Sprache "sprache" heisst und im "pdf" root node liegt, usw.)
CODE
<xsl:for-each select="pdf/sprache">
<xsl:if test="Deutsch">
<tr>
<td><xsl:value-of select="produkt_typ"/></td>
<td><xsl:value-of select="doku_typ"/></td>
</tr>
</xsl:if>
</xsl:for-each>

Wenn Du das "Loop-Kriterium" und das "IF" Kriterium ebenfalls dynamisch generieren lassen möchtest, dann wirst Du m.E. um ein serverbasiertes Parsen des XML Transformation Sheets nicht drumrum kommen:
Unter .NET: http://www.topxml.com/dotnet/articles/xslt/default.asp
Unter PHP: http://php3.de/manual/de/ref.xslt.php
 
Hallo schnuerbel

das problem dabei ist ja das nur eine abfrage , in dem fall if=deutsch,fest durchlaufen wird die, excell tabelle aber ein paar hundert zeilen mit pdf-files hat und nicht nur durch eine abfrage gefiltert werden soll.
Das ziel ist halt das die abfrage sich so lange durhläuft bis zu jeder kombination von meinen drei abfragen eine html erstellt wurde, also nicht dur deutsch sondern
z.B.

Dt,produkttyp_a,dokutyp_a
Dt,produkttyp_a,dokutyp_b
.
.
.
GB,produkttyp_c,dokutyp_f

bevor ichs natürlich vergess danke für deine antwort

mfg
odie
 
Eigentlich brauchst Du in dem Falle ja nur die Zeile
CODE
<xsl:if>

resp.

CODE
</xsl:if>


wegzulassen. Dann durchläuft das Script alle XML Elemente.

Wenn Du nun - um wie in Deinem Beispiel das Ganze zu sortieren - die Sprache als Sortierkriterium nimmst, dann sollte das eigentlich sogar richtig sortiert rauskommen.

also in etwa so:

CODE
<table>
<xsl:for-each select="pdf/sprache">
<xsl:sort select="sprace"/>
<tr>
<td><xsl:value-of select="produkt_typ"/></td>
<td><xsl:value-of select="doku_typ"/></td>
</tr>
</xsl:for-each>
</table>
 
hey schnuerbel

für ne einfach abfrage schon
aber die abfrage ist eine kombination aus drei if-abfragen und daraus ergeben sich dann halt ca. 150 kombinationen respektive muss ich daraus 150 übersichtspages basteln damit für jede seite nur die gewünsche auflistung erscheint.

hab mich jetzt mal durchgerungen das alles von hand zu mache, ist zwar nur copy paste arbeit aber bei 150 seiten ist das nich wenig

falls du noch einen einfall hättest immer her damit
aber auf jeden fall danke für dein interesse an meinem problem

mfg
odie
 
Eventuell habe ich einfach Dein Problem nicht verstanden. Du willst - gemäss Deinem ursprünglichen Posting - 195 html seiten generieren. Was wäre das Kriterium für diese 195 Seiten?

Vielleicht hilft Dir dies hier weiter?

http://newmedia.purchase.edu/~Jeanine/inte...s/xmlstuff.html

Siehe Beispiele mit Fussballresultaten ("Soccer scores") von der WM98 - Deine Problemstellung scheint - sofern ich es eben begriffen habe - dem recht nahe zu kommen. Ist auch eine gute Einführung in XSLT-Variablen.
 
danke für den tip

wie ich das sehe wurde es da mit arrays aufgebaut
hätte ich auch selber darauf kommen können, aber wenn man halt den wald vor lauter bäumen nicht sieht

hat mir auf jedenfall
geholfen

nochmal danke

mfg
odie
 
hallo schnuerbel

mir ist gerade noch was aufgefallen
und zwar funktioniert das Bsp. bestimmt gut mit den array variablen
was bei der umsetzung zu meinem problem aber noch fehlt
ist das ich mit meinem tool(eXconv) immer nur eine html bilden kann
ich aber einen befehl oder besser gesagt eine lösung bräuchte damit alle übersichtsseiten erstellt werden

evtl. hast du ja nochmal so einen guten tip

mfg
odie
 
Hallo Odie, Danke für die Blumen - aber das Problem ist ja noch gar nicht gelöst.
cool.gif


Also. Noch ein Beispiel, welches ich gefunden habe, um auch die Anforderung der HTML-Seiten abzudecken:

http://infohost.nmt.edu/tcc/help/xml/recipes.html

Die eigentliche Arbeit macht das Script hier http://infohost.nmt.edu/tcc/verbatim.cgi?f...ecipes/Makefile, welches die Definition der gewünschten Rezepte (und Dateinamen) beinhaltet.

Mittels xmllint und xsltproc wird die XML Datei validiert, resp. gegen die DTD geprüft.

Das erscheint auf den ersten Blick ein wenig komplex - aber ich denke, Du wirst das schon packen!

Je nach verwendeter Plattform / Server hast Du noch 'zig andere Möglichkeiten (z.B. Saxon mit Apache, MSXML unter Windows) einen derartigen Export vorzunehmen.

Liebe Grüsse
 
Zurück
Oben