 Källkoden för /anders.enges/xml/xml9.asp
 Källkoden för /anders.enges/xml/xml9.asp 
<!--#include file="../inc/navstuff.asp" -->
<h4>Först en kort definition</h4>
<p>PCDATA, eller som det skrivs i DTD:n #PCDATA, betyder Parsed Character DATA, 
    d.v.s tolkad textdata<br>
    CDATA betyder Character DATA, d.v.s otolkad textdata</p>
<h4>Mer om DTD</h4>
<h4>ANY</h4>
<p>Man kan släppa alla tyglar och säga att man godkänner vad skit 
    som helst med ordet ANY i DTD:n. Filen måste dock fortfarande vara well-formed, 
    och eventuella tags måste finnas deklarerade. Nedan visas ett exempel 
    på en XML fil som använder sig av en intern DTD som godkänner 
    ostrukturerad data:</p>
<%  show "xml9_1.xml" %>
<p><i>OBS</i>. Jag använder ibland interna DTD för att förenkla 
    dokumentationen. Helst skall man dock ha en extern DTD eftersom detta gör 
    det lätta att validera flera filer.</p>
<a name="MM"></a><h4>MIXED MODE XML</h4>
<p>Man kan även skapa s.k. Mixed Mode XML. Detta betyder att man tillåter 
    "fri text" men eventella taggar i texten måste begränsas. 
    I nedanstående innehåller <data> fri text men om vi skall 
    sätta in några xml tags så måste dessa vara antingen 
    <firstname> eller <lastname>. Den sista <data> noden kommer 
    att förorsaka valideringsproblem eftersom vi inte sagt att <b>data</b> 
    noder kan innehålla <b>extra</b> noder. <b>firstname</b> och <b>lastname</b> 
    är däremot ok.</p>
<p>
    <%  show "xml9_2.xml" %>
</p>
<p>Detta fungerar så att vi säger att data taggen kan innehålla 
    antingen PCDATA (tolkad text), firstname eller lastname. Observera att man även 
    får använda både firstname och lastname.</p>
<p>Denna metod kan vid första anblicken bryta mot hela XML:s grundidé, 
    men om vi ser den synvinkeln att såväl en människa som en dator 
    skall kunna läsa texten så kan det vara en god idé. Ur XML:s 
    synvinkel är det endast de två namntagsen som är av betydelse, 
    och dessa är lätta att plocka ut ur sammanhanget.</p>
<p>Vi kan gärna jämföra med webben och sökningar på 
    webben. Tag en titt på nedanstående mixed mode XML fil, tag sedan 
    en funderare över hur lyckade dina sökningar på webben brukar 
    vara. Om vi strukturerar det som behövs och skippar resten, kommer vi ändå 
    att få en bättre struktur än på webben.</p>
<p> 
    <%  show "xml9_3.xml" %>
</p>
<h4>EMPTY</h4>
<p>Man kan även säga att ett element måste vara tomt. I nedanstående 
    exempel måste <b>father</b> vara tomt och den senare data noden kommer 
    att förorsaka valideringsfel</p>
<p>
    <%  show "xml9_4.xml" %>
</p>
<p>Dett verkar ju rätt meningslöst vid första anblicken men om 
    du är van med html kodning kan du se nedanstående exempel, som (förhoppningsvis) 
    verkar vettigare:</p>
<p>
    <%  show "xml9_5.xml" %>
</p>
<p>Här säger vi att vi skall ha en <b>img</b> tag men den måste 
    vara tom. Däremot kan vi ha några attribut. Jämför med 
    de bilder du - kanske - satt in på websidor. Brukar img taggen innehålla 
    data? Svar: Nej.</p>
<p> </p>
<!--#include file="../inc/footer.asp" -->