Parametrické entity

  • podobné použití jako textové entity, ale lze je použít pouze v rámci DTD

  • interní parametrické entity

    <!ENTITY % všude "id    ID    #REQUIRED
                      autor CDATA 'nobody'">
    
    <!ATTLIST nadpis 
              %všude;>
    <!ATTLIST odstavec
              %všude;
              zarovnání (vlevo|vpravo) "vlevo">

    použití: společné atributy, opakující se modely obsahu

  • externí parametrické entity

    <!ENTITY % ISOpub SYSTEM "iso-pub.ent">
    %ISOpub;

    použití: modularizace DTD, opakované využití standardních entit v různých DTD

  • standardizované sady entit – http://www.w3.org/2003/entities/

Příklad 4. Načtení deklarací pomocí parametrické entity – dtd/parametricke-entity.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE demo [
<!ENTITY % isopub SYSTEM "http://www.w3.org/2003/entities/iso9573-2003/isopub.ent">
%isopub;
]>
<demo>
  Nyní můžu použí znakové entity jako &ndash; nebo &dagger;
</demo>

Příklad 5. Soubor isopub.ent

…
<!ENTITY emsp	"&#x2003;"> 
<!ENTITY ensp	"&#x2002;">
<!ENTITY numsp	"&#x2007;">
<!ENTITY puncsp	"&#x2008;"> 
<!ENTITY thinsp	"&#x2009;"> 
<!ENTITY hairsp	"&#x200A;"> 
<!ENTITY mdash	"&#x2014;"> 
<!ENTITY ndash	"&#x2013;">
	…