ThomasM: Absatzstil via css als Liste darstellen?

Beitrag lesen

Hallo poisondwarf,

wenn das XML-Dokument direkt formatiert werden soll, dann in dieser Art:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="test.css" type="text/css"?>
<root>
  <para styleclass="meineListe"><text styleclass="meineListe">Listenpunkt1</text></para>
  <para styleclass="meineListe"><text styleclass="meineListe">Listenpunkt2</text></para>
</root>

mit test.css:

root
{
  display: block;
  margin: 1em;
}

para > text
{
  display: list-item;
  list-style-position: inside;
}

Eine XSL-Transformation nach HTML könnte so aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output method="html" version="5" encoding="UTF-8"/>

  <xsl:template match="root">
    <html>
      <head>
        <meta charset="UTF-8"/>
        <title>Test</title>
      </head>
      <body>
        <ul>
          <xsl:apply-templates select="para"/>
        </ul>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="para">
    <li class="{@styleclass}">
      <xsl:value-of select="text"/>
    </li>
  </xsl:template>

</xsl:stylesheet>

Wesentliche HTML-Ausgabe:

<ul>
  <li class="meineListe">Listenpunkt1</li>
  <li class="meineListe">Listenpunkt2</li>
</ul>

Grüße,
Thomas