Ich möchte eine bestimmte Klasse von Tabellen im transformierten HTML über CSS anders gestalten.TEI-P5: Wie füge ich einen CSS-Klassennamen zum HTML -Tag hinzu?
Zum Beispiel in XML:
<table>
<row role="label">
<cell>
Manuscrit Bodmer
</cell>
<cell>
Manuscrit fr. 1457
</cell>
</row>
<row>
<cell>
<lb/>Début <supplied><locus from="1r">fol. 1</locus></supplied> :
</cell>
<cell>
<note><lb/><supplied>fol. 6vᵒ, ligne 15</supplied> :</note>
</cell>
</row>
</table>
In XSL:
<xsl:template match="tei:table[not(. = '')]">
<xsl:param name="sprache"/>
<xsl:element name="table">
<xsl:apply-templates><xsl:with-param name="sprache" select="$sprache"/></xsl:apply-templates>
</xsl:element>
</xsl:template>
Um das zu erreichen, dass ich denke, eine bestimmte CSS-Klasse auf diese Tabelle zB die Anwendung. in generierten HTML-
<table class="comparison-table">
und Stil es in CSS. Ist das möglich? Und wie kann ich das genau erreichen?
--- Aktualisieren Dank @ zx485 I XML & XSL aktualisiert:
<xsl:template match="tei:table[@rend='comparison-table']">
<xsl:param name="sprache"/>
<xsl:copy>
<xsl:attribute name="class"><xsl:text>comparison-table</xsl:text></xsl:attribute>
<xsl:apply-templates><xsl:with-param name="sprache" select="$sprache"/></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="tei:table[not(. = '')]">
<xsl:param name="sprache"/>
<xsl:element name="table">
<xsl:apply-templates><xsl:with-param name="sprache" select="$sprache"/></xsl:apply-templates>
</xsl:element>
</xsl:template>
Und in meinem XML:
<table rend="comparison-table">
<row role="label">
<cell>
Manuscrit Bodmer
</cell>
<cell>
Manuscrit fr. 1457
</cell>
</row>
....
Aber in der generierten HTML-Datei der Tabellen nicht tun habe css classname "comparison-table".
=== Update 2: Wie @ zx485 im Diskussionsraum schlug ich musste einfach
<xsl:template match="tei:table">
Vielen Dank! Gibt es eine Möglichkeit, den CSS-Klassennamen auf nur solche Tabellen zu beschränken, deren Bezeichner "Vergleichstabelle" heißt? Im Moment erhalten Sie mit Ihrer Änderung alle HTML-Tabellen den Klassennamen "Vergleichstabelle". – StandardNerd
Ich habe Ihre Vorlage verwendet. Es genügt also, Vorlagen zu erstellen, die Ihren Kriterien für diese spezifischen 'Tabellen genügen (verwenden Sie Prädikate wie' match = "Tabelle [Prädikat]" '.) – zx485
Ah, ok. Wie schreibe ich den Bezeichner in XML zB
I zx485 Lösung mit xsl ändern Refactoring: if es ist wahrscheinlich besser lesbar und folgt dem DRY-Prinzip:
Quelle
2017-09-14 12:47:55 StandardNerd
Verwandte Themen