2009-08-11 4 views
2

Hintergrund:
Wir haben ein Kundenportal erstellt, das die gewünschten Datenpunkte aus unserer Datenbank auswählt und als XML ausgibt. Der Kunde hat uns sein gewünschtes Format in Form eines XSLT Stylesheets zur Verfügung gestellt. Unser bevorzugtes Produkt ist daher vorzugsweise das benutzerfreundlichste Format, vorzugsweise ein PDF. Unser Service ist in Perl, also haben wir verschiedene Methoden in verschiedenen CPAN-Perl-Modulen ausprobiert und Apache FOP mit einem externen Java-Dienst verwendet, um direkt von XML/XSL nach PDF zu gelangen, aber für unser IT-Team ist das ein Albtraum Replikation in der Produktion, und die Ergebnisse sind visuell weniger als stellar.Ausgabe von XHMTL mit xsltproc

Status:
Wir versuchen xmlsoft die xsltproc zu verwenden, um die XML/XSL in HTML zu konvertieren und dann entweder liefern das, oder es in ein PDF konvertieren, aber unser Problem so weit ist, dass es veraltete HTML ist die Ausgabe, die verursacht ist Probleme mit Stil und Präsentation in allen Fällen. Deshalb ...

Frage:
Wir versuchen, zu sehen, ob es einen Weg gibt xsltproc Ausgang mit einem benutzerdefinierten Spezifikation, speziell xhtml zu machen, so dass wir es Stil und exportieren sie in eine PDF in der bevorzugten Art und Weise . Ist das überhaupt möglich oder gibt es einen klügeren Weg?

Antwort

3

http://www.sagehill.net/docbookxsl/OtherOutputForms.html lesen.

Um XHTML-Ausgabe mit xsltproc zu erzeugen, Sie Befehle wie diese verwenden:

Single file XHTML: 
xsltproc \ 
    --output myfile.xhtml \ 
    xhtml/docbook.xsl myfile.xml 

Chunked XHTML: 
xsltproc \ 
    --stringparam chunker.output.doctype-public \ For versions 1.61 and earlier 
       "-//W3C//DTD XHTML 1.0 Transitional//EN" \ 
    --stringparam chunker.output.doctype-system \ For versions 1.61 and earlier 
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" \ 
    xhtml/chunk.xsl myfile.xml 
+0

Ich entschuldige mich. Es stellt sich heraus, dass ich falsch lag. Ich habe noch nie die xsl gesehen, bis diese veralteten Tags von ihnen kommen, indem sie in die xsl kodiert werden. Ich habe deine gepostete Lösung immer wieder getestet, bevor ich das gepostet habe, und diese Tags sind immer wieder aufgetaucht. Ich dachte, sie waren Teil des Prozessors, stellt sich heraus, es ist nur mehr PEBKAC von unserem Kunden. Danke für die Referenz, und darauf hingewiesen, dass es auf Google war. "Nimm eine Chance und sei der Dümmste im Raum." :) Es macht mir nichts aus. – NateDSaint