HTML
Der speedata Publisher kann HTML-Inhalte verarbeiten und als PDF ausgeben. Dieses Kapitel beschreibt die verschiedenen Möglichkeiten, HTML zu verwenden, und die unterstützten Funktionen.
HTML verwenden
Es gibt mehrere Möglichkeiten, HTML-Inhalte in das Layout einzubinden:
Direktes HTML in Output
Am einfachsten ist die Verwendung des <HTML>-Befehls direkt innerhalb von <Output>:
<Output>
<HTML>
<h1>Überschrift</h1>
<p>Ein Absatz mit <b>fettem</b> und <i>kursivem</i> Text.</p>
<ul>
<li>Punkt 1</li>
<li>Punkt 2</li>
</ul>
</HTML>
</Output>
HTML aus Daten mit select
HTML-Inhalte können aus der Datendatei mit dem select-Attribut geladen werden:
<Output>
<HTML select="content" />
</Output>
Wenn das HTML als maskierter Text (z.B. <p>) oder in einem CDATA-Abschnitt gespeichert ist, wird der <HTML>-Befehl es korrekt parsen.
HTML in Paragraph
HTML kann auch innerhalb von <Paragraph>-Elementen in einem <Textblock> oder <Text> verwendet werden. Das ist nützlich, wenn HTML mit anderen Publisher-Elementen gemischt werden soll:
<Record element="Paragraph">
<PlaceObject>
<Textblock>
<Paragraph>
<Value select="sd:decode-html(.)" />
</Paragraph>
</Textblock>
</PlaceObject>
</Record>
Mit Daten, die HTML in CDATA enthalten:
<Paragraph><![CDATA[<ol><li>Erster Punkt</li><li>Zweiter Punkt</li></ol>]]></Paragraph>
XPath-Ersetzung mit expand-text
Bei Inline-HTML können XPath-Ausdrücke in geschweiften Klammern verwendet werden, wenn expand-text="yes" gesetzt ist:
<Output>
<HTML expand-text="yes">
<p>Artikel <b>{@nr}</b> kostet {$preis} Euro.</p>
</HTML>
</Output>
Für literale geschweifte Klammern {{ und }} verwenden.
Unterstützte HTML-Elemente
Die folgenden HTML-Elemente werden unterstützt:
-
Überschriften:
<h1>bis<h6> -
Absätze:
<p> -
Textformatierung:
<b>,<i>,<u>,<code>,<kbd>,<span> -
Links:
<a href="…"> -
Listen:
<ul>,<ol>,<li> -
Tabellen:
<table>,<thead>,<tbody>,<tr>,<th>,<td> -
Zeilenumbrüche:
<br>
CSS-Styling
HTML-Elemente können mit CSS gestaltet werden. CSS kann über den <Stylesheet>-Befehl eingebunden werden:
<Stylesheet>
h1 { color: blue; font-size: 24pt; }
p { margin-bottom: 12pt; }
.highlight { background-color: yellow; }
</Stylesheet>
Oder CSS aus einer Datei laden:
<Stylesheet filename="styles.css" />
Unterstützte CSS-Eigenschaften
Der speedata Publisher unterstützt eine Teilmenge von CSS-Eigenschaften, darunter:
-
Schrifteigenschaften:
font-family,font-size,font-weight,font-style -
Texteigenschaften:
color,text-align,text-decoration,line-height -
Box-Modell:
margin,padding,border,width,height -
Hintergrund:
background-color -
Listenstil:
list-style-type,list-style
Eine vollständige Liste der unterstützten CSS-Eigenschaften ist im CSS-Abschnitt unter CSS zu finden.
Tabellen in HTML
HTML-Tabellen werden vollständig unterstützt, einschließlich Kopf- und Fußzeilen, die bei Seitenumbrüchen wiederholt werden:
<HTML>
<table>
<thead>
<tr><th>Name</th><th>Preis</th></tr>
</thead>
<tbody>
<tr><td>Produkt A</td><td>10,00</td></tr>
<tr><td>Produkt B</td><td>20,00</td></tr>
</tbody>
</table>
</HTML>
Tabellen können sich über mehrere Seiten erstrecken, wobei der <thead>-Inhalt oben auf jeder Seite wiederholt wird.