Discussion:
hierarchie v <bridgehead> pomocí renderas
(too old to reply)
Tomas.Waller
2010-07-12 07:37:29 UTC
Permalink
Dobrý den!

Chtěl bych zavést v <bridgehead> stejnou hierarchii, jako by to byly vnořené elementy, pomocí atributů renderas="sect1" atd.
Zatím mám veškeré číslování těchto <bridgehead> v obsahu, záložkách apod.

Ale číslují se mi průběžně přes všechny bridgehead.

Potřeboval bych to takto hierarchicky. Mám-li elementy:

<bridgehead renderas="sect1">nadpis</bridgehead>
...
<bridgehead renderas="sect2">nadpis</bridgehead>
...
<bridgehead renderas="sect2">nadpis</bridgehead>
...
<bridgehead renderas="sect1">nadpis</bridgehead>
...
<bridgehead renderas="sect2">nadpis</bridgehead>
...
<bridgehead renderas="sect2">nadpis</bridgehead>
...
chtěl bych strukturu číslování:

třeba
2.8.1 (pro první renderas="sect1")
2.8.1.1 (pro první renderas="sect2 po prvním renderas="sect1")
2.8.1.2 (pro druhé renderas="sect2 po prvním renderas="sect1")
2.8.2 (pro druhé renderas="sect1")
2.8.2.1 (pro první renderas="sect2 po druhém renderas="sect1")
2.8.2.2 (pro druhé renderas="sect2 po druhém renderas="sect1")


Zatím mám vše až po 2.8.1
detailnější strukturu mám tedy
2.8.1
2.8.1.x
2.8.1.x
2.8.2
2.8.2.x
2.8.2.x
ale tato "x" nedokážu nastavit, aby se počítala vždy od vyšší úrovně, tedy v tomto případě od renderas="sect1".
pro tyto renderas="sect2" získám label "vyššího elementu pomocí volání

<xsl:apply-templates select="preceding-sibling::bridgehead[@renderas = 'sect1'][1]" mode="label.markup"/>

, což je snad správně, jen tu nejnižší úroveň nedokážu dodělat.

potřeboval bych pro každý element s atributem renderas="sect2" zjistit pozici přecházejícího elementu

<bridgehead renderas="sect1">,

což ale neumím.

Pokud se nepletu, je to element preceding-sibling::bridgehead[@renderas = 'sect1'][1]

Jak to udělat? Jak spočítat jeho pozici uvnitř rodiče? (position.of.higher.within.parent)

<xsl:number format=... value="count(preceding-sibling::bridgehead) + 1 - $position.of.higher.within.parent"/>

Jak tedy zjistit tuto $position.of.higher.within.parent?

(Pro hlubší úrovně bych měl obdobně elementy s renderas="sect4" a před nimi nejbližší renderas="sect3" apod.)

Pro vzhled nadpisů bych raději vyčlenil atribut role.

Děkuji za radu.

Tomáš Waller
Jirka Kosek
2010-07-12 08:48:57 UTC
Permalink
místo [1] pouÅŸijte [last()] na reverzních osách jsou ozly číslovány opačně.
Pro vzhled nadpisů bych raději vyčlenil atribut role.
Nevím, proč nepouşíváte vnořené elementy section resp. sect1, sect2, ...
-- měl byste s tím o dost méně práce.
--
------------------------------------------------------------------
Jirka Kosek e-mail: ***@kosek.cz http://www.kosek.cz
------------------------------------------------------------------
Profesionální školení a poradenství v oblasti technologií XML.
PodrobnÃœ přehled Å¡kolení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
Nejblişší termíny školení
** XSLT 19.-22.4. ** XSL-FO 18.-19.5. **
** XSLT 2.0 9.6. ** Office Open XML 10.6. **
------------------------------------------------------------------
http://docbook.cz Stránky o dokumentačním formátu DocBook
http://xmlguru.cz Blog mostly about XML for English readers
------------------------------------------------------------------
Tomas.Waller
2010-07-12 09:01:46 UTC
Permalink
------------ Původní zpráva ------------
Předmět: Re: hierarchie v <bridgehead> pomocí renderas
Datum: 12.7.2010 10:49:22
----------------------------------------
'sect1'][1]
místo [1] použijte [last()] na reverzních osách jsou ozly číslovány opačně.
tedy [1] je zde [last()]? Ale stejně - jak zjistit pořadí tohoto <bridgehead> v rodičovském elementu? Prostě potřebuji to číslo.
Post by Tomas.Waller
Pro vzhled nadpisů bych raději vyčlenil atribut role.
Nevím, proč nepoužíváte vnořené elementy section resp. sect1, sect2, ...
-- měl byste s tím o dost méně práce.
Nechci, aby se mi pro chunk html soubor dělil do těchto <section>. Stránky by pak byly malé. Zjistil jsem, že se <bridgehead> nedělí, ale vypnout dělení pro <section> jsem neuměl. A neumím.
--
------------------------------------------------------------------
------------------------------------------------------------------
Profesionální školení a poradenství v oblasti technologií XML.
Podrobný přehled školení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
Nejbližší termíny školení
** XSLT 19.-22.4. ** XSL-FO 18.-19.5. **
** XSLT 2.0 9.6. ** Office Open XML 10.6. **
------------------------------------------------------------------
http://docbook.cz Stránky o dokumentačním formátu DocBook
http://xmlguru.cz Blog mostly about XML for English readers
------------------------------------------------------------------
Jirka Kosek
2010-07-12 12:26:46 UTC
Permalink
Post by Jirka Kosek
místo [1] pouÅŸijte [last()] na reverzních osách jsou ozly číslovány opačně.
tedy [1] je zde [last()]? Ale stejně - jak zjistit pořadí tohoto <bridgehead> v rodičovském elementu? Prostě potřebuji to číslo.
Není mi úplně jasné, co přesně chcete zjistit. Myslíte rodičovskÃœ
element z pohledu XML nebo "virtuální" strukturu vytvořenou pomocí renderas?
Post by Jirka Kosek
Pro vzhled nadpisů bych raději vyčlenil atribut role.
Nevím, proč nepouşíváte vnořené elementy section resp. sect1, sect2, ...
-- měl byste s tím o dost méně práce.
Nechci, aby se mi pro chunk html soubor dělil do těchto <section>. Stránky by pak byly malé. Zjistil jsem, ÅŸe se <bridgehead> nedělí, ale vypnout dělení pro <section> jsem neuměl. A neumím.
To lze celkem snadno nastavit pomocí řady parametrů:

http://docbook.sourceforge.net/release/xsl/current/doc/html/chunking.html

KdyÅŸ nastavíte následující parametr na 0, tak se sekce vůbec nebudou dělit:

http://docbook.sourceforge.net/release/xsl/current/doc/html/chunk.section.depth.html
--
------------------------------------------------------------------
Jirka Kosek e-mail: ***@kosek.cz http://www.kosek.cz
------------------------------------------------------------------
Profesionální školení a poradenství v oblasti technologií XML.
PodrobnÃœ přehled Å¡kolení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
Nejblişší termíny školení
** XSLT 19.-22.4. ** XSL-FO 18.-19.5. **
** XSLT 2.0 9.6. ** Office Open XML 10.6. **
------------------------------------------------------------------
http://docbook.cz Stránky o dokumentačním formátu DocBook
http://xmlguru.cz Blog mostly about XML for English readers
------------------------------------------------------------------
Tomas.Waller
2010-07-12 12:36:59 UTC
Permalink
------------ Původní zpráva ------------
Předmět: Re: hierarchie v <bridgehead> pomocí renderas
Datum: 12.7.2010 14:27:04
----------------------------------------
Post by Tomas.Waller
místo [1] použijte [last()] na reverzních osách jsou ozly číslovány opačně.
tedy [1] je zde [last()]? Ale stejně - jak zjistit pořadí tohoto <bridgehead>
v rodičovském elementu? Prostě potřebuji to číslo.
Není mi úplně jasné, co přesně chcete zjistit. Myslíte rodičovský
element z pohledu XML nebo "virtuální" strukturu vytvořenou pomocí renderas?
Tu druhou možnost: virtuální strukturu pomocí renderas (tedy jakýsi pseudorodičovský prvek, ač jsou sourozenci).
Post by Tomas.Waller
Post by Tomas.Waller
Pro vzhled nadpisů bych raději vyčlenil atribut role.
Nevím, proč nepoužíváte vnořené elementy section resp. sect1, sect2, ...
-- měl byste s tím o dost méně práce.
Nechci, aby se mi pro chunk html soubor dělil do těchto <section>. Stránky by
pak byly malé. Zjistil jsem, že se <bridgehead> nedělí, ale vypnout dělení pro
<section> jsem neuměl. A neumím.
http://docbook.sourceforge.net/release/xsl/current/doc/html/chunking.html
http://docbook.sourceforge.net/release/xsl/current/doc/html/chunk.section.depth.html
S dělením jsem měl problém v tom smyslu, že jsem chtěl některé section určité úrovně dělit, ale jiné section STEJNÉ úrovně ponechat nedělené. Proto mi tyto parametry nevyhovovaly.
--
------------------------------------------------------------------
------------------------------------------------------------------
Profesionální školení a poradenství v oblasti technologií XML.
Podrobný přehled školení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
Nejbližší termíny školení
** XSLT 19.-22.4. ** XSL-FO 18.-19.5. **
** XSLT 2.0 9.6. ** Office Open XML 10.6. **
------------------------------------------------------------------
http://docbook.cz Stránky o dokumentačním formátu DocBook
http://xmlguru.cz Blog mostly about XML for English readers
------------------------------------------------------------------
Loading...