Forum Doku Wiki Blog

Forumsarchiv 2002, September
verschachtelte knoten/attribute unterschiedlich formatieren

archivierte Beiträge lesen

  1. (XSL) verschachtelte knoten/attribute unterschiedlich formatieren von cayron, 21. 09. 2002, 14:31

verschachtelte knoten/attribute unterschiedlich formatieren

Der folgende Beitrag wurde am 21. 09. 2002, 14:31 Uhr von cayron veröffentlicht.

hallo

ich suche nach einer anweisung die
verschachtelte elemente vom typ section (=kapitel/absatz)
mit dem attribut title (kapitelüberschrift)
je nach hierarchie-ebene unterschiedlich
formatiert, und der entsprechenden überschrift
h1-h6 zuweist. (section kann section beinhalten)

dazu habe ich zwar eine variable ($depth)
mit dem wert der hierarchie-tiefe,
kann dies aber nicht auf eine elementauswahl
(hier h1) beziehen.
ein element p mit xsl:attribut class="§depth" wäre nett,
aber es soll mit h1 bis h6 umgesetzt werden.

folgende lösung funktioniert leider auch nicht:

<xsl:variable name="tmp" select="concat('h',$depth)"/>
<xsl:element name="$tmp">

kann mir jemand weiterhelfen ?
noch fragen?

verschachtelte knoten/attribute unterschiedlich formatieren

Der folgende Beitrag wurde am 21. 09. 2002, 14:39 Uhr von MudGuard veröffentlicht.

Hi,

> ich suche nach einer anweisung die
> verschachtelte elemente vom typ section (=kapitel/absatz)
> mit dem attribut title (kapitelüberschrift)
> je nach hierarchie-ebene unterschiedlich
> formatiert, und der entsprechenden überschrift
> h1-h6 zuweist. (section kann section beinhalten)

> dazu habe ich zwar eine variable ($depth)
> mit dem wert der hierarchie-tiefe,
> kann dies aber nicht auf eine elementauswahl
> (hier h1) beziehen.
> ein element p mit xsl:attribut class="§depth" wäre nett,
> aber es soll mit h1 bis h6 umgesetzt werden.

schon mal probiert, einfach unterschiedliche Templates zu benutzen?
Also so:

<xsl:template match="section/section/section/section/section/section">
   <h6><xsl:value-of select="@title"/></h6>
</xsl:template>
<xsl:template match="section/section/section/section/section">
   <h5><xsl:value-of select="@title"/></h5>
</xsl:template>
...
<xsl:template match="section">
   <h1><xsl:value-of select="@title"/></h1>
</xsl:template>

(ist zwar der brute-force-Ansatz, aber bei nur 6 Ebenen...)
Andreas

verschachtelte knoten/attribute unterschiedlich formatieren

Der folgende Beitrag wurde am 21. 09. 2002, 15:10 Uhr von cayron veröffentlicht.


das war die alte lösung, die ich erneuern wollte,
da man dann probleme mit "section/irgendeinanderertag/section" bekommt.

hab aber ne lösung gefunden ...

trotzdem danke

> Hi,

> > ich suche nach einer anweisung die
> > verschachtelte elemente vom typ section (=kapitel/absatz)
> > mit dem attribut title (kapitelüberschrift)
> > je nach hierarchie-ebene unterschiedlich
> > formatiert, und der entsprechenden überschrift
> > h1-h6 zuweist. (section kann section beinhalten)

> > dazu habe ich zwar eine variable ($depth)
> > mit dem wert der hierarchie-tiefe,
> > kann dies aber nicht auf eine elementauswahl
> > (hier h1) beziehen.
> > ein element p mit xsl:attribut class="§depth" wäre nett,
> > aber es soll mit h1 bis h6 umgesetzt werden.

> schon mal probiert, einfach unterschiedliche Templates zu benutzen?
> Also so:

> <xsl:template match="section/section/section/section/section/section">
>    <h6><xsl:value-of select="@title"/></h6>
> </xsl:template>
> <xsl:template match="section/section/section/section/section">
>    <h5><xsl:value-of select="@title"/></h5>
> </xsl:template>
> ...
> <xsl:template match="section">
>    <h1><xsl:value-of select="@title"/></h1>
> </xsl:template>

> (ist zwar der brute-force-Ansatz, aber bei nur 6 Ebenen...)
> Andreas
quot; wärq

verschachtelte knoten/attribute unterschiedlich formatieren

Der folgende Beitrag wurde am 21. 09. 2002, 15:11 Uhr von cayron veröffentlicht.

<!-- die Überschrift -->
<!-- <H?> bereich fängt an -->
<xsl:variable name="topic" select="concat('h',$depth)"/>
<xsl:text disable-output-escaping="yes"><</xsl:text>
<xsl:value-of select="$topic"/>
<xsl:text disable-output-escaping="yes">></xsl:text>

[...]

<!-- <H?> bereich hört wieder auf an -->
<xsl:text disable-output-escaping="yes"></</xsl:text>
<xsl:value-of select="$topic"/>
<xsl:text disable-output-escaping="yes">></xsl:text>


*freu*



> hallo

> ich suche nach einer anweisung die
> verschachtelte elemente vom typ section (=kapitel/absatz)
> mit dem attribut title (kapitelüberschrift)
> je nach hierarchie-ebene unterschiedlich
> formatiert, und der entsprechenden überschrift
> h1-h6 zuweist. (section kann section beinhalten)

> dazu habe ich zwar eine variable ($depth)
> mit dem wert der hierarchie-tiefe,
> kann dies aber nicht auf eine elementauswahl
> (hier h1) beziehen.
> ein element p mit xsl:attribut class="§depth" wäre nett,
> aber es soll mit h1 bis h6 umgesetzt werden.

> folgende lösung funktioniert leider auch nicht:

> <xsl:variable name="tmp" select="concat('h',$depth)"/>
> <xsl:element name="$tmp">

> kann mir jemand weiterhelfen ?
> noch fragen?


verschachtelte knoten/attribute unterschiedlich formatieren

Der folgende Beitrag wurde am 21. 09. 2002, 15:29 Uhr von MudGuard veröffentlicht.

> <!-- die Überschrift -->
> <!-- <H?> bereich fängt an -->
> <xsl:variable name="topic" select="concat('h',$depth)"/>
> <xsl:text disable-output-escaping="yes"><</xsl:text>
> <xsl:value-of select="$topic"/>
> <xsl:text disable-output-escaping="yes">></xsl:text>

> [...]

> <!-- <H?> bereich hört wieder auf an -->
> <xsl:text disable-output-escaping="yes"></</xsl:text>
> <xsl:value-of select="$topic"/>
> <xsl:text disable-output-escaping="yes">></xsl:text>

Aua, das tut weh. So erzeugt man keine Elemente im Output.

Hier die richtige Lösung:
Annahme: in $depth steht eine ganze Zahl von 1 bis 6:

<xsl:element name="h{$depth}">
 was auch immer in dem Element stehen soll
</xsl:element>

Andreas

verschachtelte knoten/attribute unterschiedlich formatieren

Der folgende Beitrag wurde am 21. 09. 2002, 15:25 Uhr von Thomas Meinike veröffentlicht.

Hallo,

> folgende lösung funktioniert leider auch nicht:

> <xsl:variable name="tmp" select="concat('h',$depth)"/>
> <xsl:element name="$tmp">

> kann mir jemand weiterhelfen ?

<xsl:element name="{$tmp}">
...
</xsl:element>

MfG, Thomas

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4