ENTITY
Entities är ett enkelst sätt att få in standardvärden 
  i xml filen. Vi kan skapa egna nya entities vid behov. Nedan är en DTD 
  som deklarerar en entity med namnet intro, samt en xml fil som använder 
  denna entity.
  
  
howto.dtd
<?xml version="1.0" encoding="iso-8859-1"?>
<!ENTITY intro "Dessa sidor lyder under copyleft reglerna. 
Gör vad du vill med dem, så länge som du inte anklagar mig för någonting.">
<!ELEMENT data (title, instructions)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT instructions (howto+)>
<!ELEMENT howto (#PCDATA)>
 
  
xml10_2.xml
<?xml version="1.0" encoding="iso-8859-1" ?>  
<!DOCTYPE data SYSTEM "howto.dtd">
<data>
  	<title>&intro;</title>
  	<instructions>
    		<howto>För att byta rad i html skriver du <![CDATA[<br>]]></howto>
    		<howto>Sidan avslutas med <![CDATA[</html>]]></howto>
  	</instructions>
</data>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Det finns, till skillnad mot HTML, bara några få fördefinierade 
  entities i XML. Lägg bland annat märke till frånvaron av   
  som finns i HTML (Nej, jag har inte gjort ett stavfel i raden för &).
 
   
    | Tecken | Entity | 
   
    | & | & eller && | 
   
    | ' | ' eller ' | 
   
    | > | > eller > | 
   
    | < | < eller &< | 
   
    | " | " eller " | 
xml10_1.xml
<?xml version="1.0"?>  
<!DOCTYPE products SYSTEM "dtdfil.dtd">
<products>
  	<product>
    		<code>ABC &  D</code>
    		<price> >122</price>
    		<amount> <4</amount>
  	</product> 
</products>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Den något konstiga skrivningen av & har sin förklaring när 
  man ser på hur XML tolken hanterar entities. Nedan är ett litet exempel 
  på en entity:
 <!ENTITY vi "Anders & Eva"> 
Denna används i en XML fil på följande sett:
 <vem>&vi;</vem> 
XML processorn kommer då att expandera texten så att den blir till
 <vem>Anders & Eva</vem> 
och kommer att försöka lista ut vad entiteten "& Eva" 
  är för något. Den kommer att misslyckas med detta...
Denna tvåstegsprocess kommer sig av att man kan göra följande 
  (jag har satt in DTD:n i XML filen för enkelhets skull):
  
xml10_3.xml
<?xml version="1.0" encoding="iso-8859-1" ?>  
<!DOCTYPE data [
  	<!ENTITY intro "Dessa sidor lyder under copyleft reglerna. 
  	Gör vad du vill med dem, så länge som du inte anklagar mig 
  	för någonting.">
  	<!ENTITY tit "<title>&intro;</title>">
  	<!ELEMENT data (title, instructions)>
  	<!ELEMENT title (#PCDATA)>
  	<!ELEMENT instructions (howto+)>
  	<!ELEMENT howto (#PCDATA)>
]>
<data>
  	&tit;
  	<instructions>
    		<howto>För att byta rad i html skriver du <![CDATA[<br>]]></howto>
    		<howto>Sidan avslutas med <![CDATA[</html>]]></howto>
  	</instructions>
</data>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Observera användningen av &tit; entityn i ovanstående.