Marked selections v XML docbooku

Jirka Kosek jirka na kosek.cz
Pondělí Leden 5 21:39:04 CET 2004


Miroslav Kure wrote:


> což zajistilo nadefinování entit &kernelversion; &arch-title; podle
> hodnot pro danou architekturu. (V příkladu pro alphu).
> 
> Jak toho dosáhnout v XML verzi DB?

Pro tyto účely se hodí profilování. U každého elementu můžete použít 
několik atributů, které určí pro jaký profil je element určen. S těmi 
entitami to vypadá trochu komplikovaněji, ale funguje to bez problémů:

<!ENTITY kernelversion "<phrase arch='aplha'>2.2.22</phrase>
                         <phrase arch='m68k'>2.2.20</phrase>">
<!ENTITY releasename "woody">
<!ENTITY arch-title "<phrase arch='aplha'>Alpha</phrase>
                      <phrase arch='m68k'>Motorola 680x0</phrase>">

pro zpracování se pak použije styl s -profile na konci názvu. Např. pro 
Alpha procesůrek dostanu dokumentaci pomocí:

saxon dokument.xml .../xsl-styly/html/chunk-profile.xsl "profile.arch=alpha"

> Napadlo mě vyhodit všechny architekturně-specifické věci do
> samostatných souborů, do hlavičky hlavního dokumentu vložit řádek
> 
> <!ENTITY % archdata SYSTEM "arch.ent"> %archdata;
> 
> , kde arch.ent by byl symbolický odkaz, který by při sestavování vždy
> ukazoval na soubor obsahující data pro příslušnou architekturu. Tohle
> funguje, ale přijde mi to náchylné k chybám, protože dříve bylo všechno
> v několika logických souborech (urls.ent, files.ent, docstruct.ent
> - cca stovky entit) a změna údaje znamenala změnu jednoho nebo
> několika okolních řádků (hodně údajů je společných).
> Nyní je potřeba projít několik souborů a zkontrolovat, jestli daná
> architektura náhodou také nepředefinovává tuto entitu a příslušně ji
> upravit.

Šlo by si napsat skript, který by změny porovnával a hledal 
nesrovnalosti. Něco podobného používá třeba dokumentace k PHP.

> Další problém nastane, pokud bych chtěl do hry zamíchat i různé
> jazykové verze:
> 
> <![ %lang-de; [ <!ENTITY www-debian "www.debian.de"> ]]>
> <![ %lang-pt; [ <!ENTITY www-debian "www.br.debian.org"> ]]>
> <!ENTITY www-debian "www.debian.org">
> 
> Pak bych musel mít (jazky*architektury + společné) definičních
> souborů, což se mi také moc nelíbí.

<!ENTITY www-debian "<phrase lang='en'>www.debian.org</phrase>
                      <phrase lang='de'>www.debian.de</phrase>
                      ..atd..">

Nicméně si myslím, že vhodnější je mít každý překlad v samostatném 
dokumentu.

> Neřešil někdo něco podobného? Předem díky za nápady

Více informací o profilování viz:

http://sagehill.net/docbookxsl/Profiling.html

-- 
-----------------------------------------------------------------
   Jirka Kosek  	
   e-mail: jirka na kosek.cz
   http://www.kosek.cz
------------- další část ---------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3403 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://www.linux.cz/pipermail/docbook/attachments/20040105/6d598fa2/attachment.bin>


Další informace o konferenci Docbook