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" -->