XMLGrundernaValidering
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
Grunderna XSL Dynamiska sidor XML i praktiken

Validering

OBS.

Microsoft Internet Explorer hanterar gärna xml filer, men validerar inte dessa mot en DTD. Det finns ett tillägg till IE som gör detta möjligt. Nedan har jag satt en länk till en sida som kan installera dessa tillägg. Dessutom uppdateras XML tolken till version 3, sp1.

Klicka här för att installera

DTD - document type definition

En XML fil som inte har en DTD kan vara helt well-formed, men för att skapa valid XML kod småste man använda någon form av validering av filens noder. Det finns två metoder för att göra detta:

  • DTD
  • Schemas

Till att börja med så kommer jag att använda DTD, som visserligen är en lite äldre metod, men som är väl inarbetad.

Användning av DTD

Man kan antingen sätta in DTD data direkt i filen (observera att ordet efter DOCTYPE alltid måste vara samma som rotnodens namn:

xml5_1.xml

<?xml version="1.0"?> 
<!DOCTYPE products [
<!ELEMENT products (product+)>
<!ELEMENT product (code,price,amount)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT amount (#PCDATA)>
]>
<products>
   <product>
     <code>ABC</code>
     <price>122</price>
     <amount>4</amount>
   </product>
   <product>
     <code>XYZ</code>
     <price>133</price>
     <amount>1</amount>
   </product>
</products>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken

Har du installerat iexmltls kan du prova öppna nedanstående xml fil och sedan högerklicka på den. Välj sedan menyalternativet Validate XML

xml5_2.xml

<?xml version="1.0"?> 
<!DOCTYPE products [
<!ELEMENT products (product+)>
<!ELEMENT product (code,price,amount)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT amount (#PCDATA)>
]>
<products>
   <product>
     <code>ABC</code>
     <price>122</price>
     <amount>4</amount>
   </product>
   <product>
     <code>XYZ</code>
     <price>133</price>
   </product>
</products>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken

Du kan även (hellre) sätta DTD:n i en separat fil. I nedanstående exempel heter filen dtdfil.dtd och finns i samma katalog som xml filen. Det går även att ange en URL som path till DTD:n

xml5_3.xml

<?xml version="1.0"?> 
<!DOCTYPE products SYSTEM "dtdfil.dtd">
<products>
   <product>
     <code>ABC</code>
     <price>122</price>
     <amount>4</amount>
   </product>
   <product>
     <code>XYZ</code>
     <price>133</price>
     <amount>1</amount>
   </product>
</products>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken

DTD filen innehåller följande

dtdfil.dtd

<!ELEMENT products (product+)>
<!ELEMENT product (code,price,amount)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT amount (#PCDATA)>

  Datat i XMLDTD
Grunderna
XML filer
Mer om XML filer
Datat i XML
Validering
DTD
Studera själv på nätet
Mer om ELEMENT
Mer om ENTITY
Mer om ATTLIST
Rekursivt data
Övningar
Som nästa...


Top
< Datat i XML DTD>
© Anders Enges, Vörå 2002  | 29.09.01 19:47 Visa asp koden