XML preprocessing

Jirka Kosek jirka na kosek.cz
Středa Listopad 19 11:12:35 CET 2003


Karel Zak wrote:

>  <!entity % myvar "IGNORE">
> 
>  <![%myvar;[
>  <stuff>...</stuff>
>  ]]>
> 
> 
>  tedy podmineneho  prekladu urcitych  casti pomoci  testovani promennych
>  definovanych pomoci <!ENTITY>?

K podobnému efektu lze použít profilování. K jakémukoliv elementu lze 
přidat několik atributů, které mohou nést informaci o tom, pro koho je 
text určen. Např.:

<para os="windows">Text určený pouze pro uživatele Win</para>

Při zpracování dokumentu se pak použije styl, který má před názvem 
profile- (např. profile-docbook.xsl, profile-chunk.xsl) a přidá se 
parametr profile.os="windows", který určí, jaké části dokumentu se mají 
zpracovávat. Podrobně je to popsáno na:

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

>  Snazim se  jednoho cloveka presvedcit  k prechodu  na XML ze  SGML, ale
>  tady tim me zaskocil :-)

Profilování má sice trošku menší možnosti než parametrické includy, ale 
na použití a zápis dokumentu je to mnohem jednodušší a přehlednější.

>  Jeste mne  napadlo jak  jsou na  tom xsltproc, saxon  a fop  s podporou
>  xinclude?  Na strankach fopu jsem nic nenasel.

xsltproc podporuje xinclude nativně, stačí jej spustit s parametrem 
--xinclude. Poslední verze Xercesu (XML parser v Javě) XInclude také 
podporuje, takže čistě teoreticky, když se použije jako parser pro Saxon 
nebo FOP, mělo by to fungovat, ale nezkoušel jsem to. Druhou možností je 
před zpracováním Saxonem vyhodnotit XInclude a výsledek uložit do 
dočasného souboru:

xmllint --xinclude --postvalid dokument.xml > temp.xml
saxon temp.xml styl.xsl

-- 
-----------------------------------------------------------------
   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/20031119/54a75cbb/attachment.bin>


Další informace o konferenci Docbook