Jan Nylund
2003
Assignment week 1. Well-formed xml
XML declarationen först i documentet är <?xml version="1.0" encoding="UTF-8" ?> vilket betyder XML version 1.0 och encoding UTF-8 är 8 bitar per tecken, totalt 256 tecken, Latin-1
<a> och </A> är inkorrekt i xml. <a> och </a> är korrekt. Start och sluttag måste vara exakt lika, förutom / som visar att taggen är en sluttag.
Endast ett rot element.
<rot> <parent> <child> </child> </parent> </rot>
Namnet på taggen får inte ha mellanslag, inte innehålla ”xml”, inte starta med siffror, punkt eller - endast bostäver, _ och :
Assignment week 2. Valid XML Document
DTD, Document Type Definition, sätts först i documentet
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Här är Document Type Definiton
<!DOCTYPE inventory [ <!-- There must be at least one book but cold be several --> <!ELEMENT inventory (book)+> <!-- one isbn per book --> <!-- one title per book --> <!-- one author or more per book --> <!-- one price per book --> <!ELEMENT book (isbn,title,author+,price)> <!ELEMENT isbn (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT price (#PCDATA)> ]>
Här slutar DTD och själva XML-dokumentet börjar
<inventory> <book> <isbn>91-1-300875-7</isbn> <title>The Swedish People</title> <author>August Strindberg</author> <price>$30</price> </book> <book> <isbn>0-7821-2278-7</isbn> <title>Effective Web Design</title> <author>Ann Navarro-Tabinda Khan</author> <price>$35</price> </book> <book> <isbn>91-1-962851-X</isbn> <title>The key to your own Homepage</title> <author>Dan Josefsson</author> <price>$30</price> </book> </inventory>
Elementdefinitioner
Du kan testa om du har ett XML document med fungerande DTD hos W3C Markup Validation Service. http://validator.w3.org/file-upload.html
Assignment week 3. Attributes and general Entities in a Valid XML Document.
Nedan är källkoden till exemplet ovan. Det är användbart med attribut och general entities om du har samma mening eller adress som ska in på många ställen i dokumentet, men också om du vill ha in tecken som inte finns i utf-8 t.ex å och ö
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE inventory [
<!-- There must be at least one book but cold be several -->
<!ELEMENT inventory (book)+>
<!-- one isbn per book -->
<!-- one title per book -->
<!-- zero or one titel per book -->
<!-- one author or more per book -->
<!-- one price per book -->
<!ELEMENT book (isbn,title,titel?,author+,publisher,price)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ENTITY nor "Nordsteds, Gotenburg Sweden">
<!ENTITY sybex "SYBEX Inc. San Francisco California">
<!ENTITY ouml "ö">
<!ENTITY aring "å">
<!ATTLIST titel
xml:lang NMTOKEN 'sv'>
<!ATTLIST title
xml:lang NMTOKEN 'en'>
<!ATTLIST isbn code ID #REQUIRED>
]>
<inventory>
<book>
<isbn code="c1">91-1-300875-7</isbn>
<title>The Swedish People</title>
<titel>Svenska Folket</titel>
<author>August Strindberg</author>
<publisher>&nor;</publisher>
<price>$30</price>
</book>
<book>
<isbn code="c2">91-2-705229-X</isbn>
<title>The red room</title>
<titel>Röda rummet</titel>
<author>August Strindberg</author>
<publisher>&nor;</publisher>
<price>$30</price>
</book>
<book>
<isbn code="c3">0-7821-2278-7</isbn>
<title>Effective Web Design</title>
<author>Ann Navarro-Tabinda Khan</author>
<publisher>&sybex;</publisher>
<price>$35</price>
</book>
<book>
<isbn code="c4">91-1-962851-X</isbn>
<title>The key to your own Homepage</title>
<titel>Nyckeln till din hemsida på internet</titel>
<author>Dan Josefsson</author>
<publisher>&nor;</publisher>
<price>$30</price>
</book>
</inventory>
Assignment week 4. Displaying XML.
Här används css för att designa dokumentet i en form som är mer van för oss
För att koppla ihop ditt externa stylesheet med ditt xml document sätter du
detta:
<?xml-stylesheet type="text/css" href="week4.css"?> överst i documentet
alldeles under
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Exempel:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/css" href="week4.css"?>
<!DOCTYPE inventory [
<!-- There must be at least one book but cold be several -->
<!ELEMENT inventory (book)+>
<!-- one isbn per book -->
<!-- one title per book -->
<!-- zero or one titel per book -->
<!-- one author or more per book -->
<!-- one price per book -->
<!ELEMENT book (isbn,title,titel?,author+,publisher,price)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ENTITY nor "Nordsteds, Gotenburg Sweden">
<!ENTITY sybex "SYBEX Inc. San Francisco California">
<!ENTITY ouml "ö">
<!ENTITY aring "å">
<!ATTLIST titel
xml:lang NMTOKEN 'sv'>
<!ATTLIST title
xml:lang NMTOKEN 'en'>
<!ATTLIST isbn code ID #REQUIRED>
]>
<inventory>
<book>
<isbn code="c1">91-1-300875-7</isbn>
<title>The Swedish People</title>
<titel>Svenska Folket</titel>
<author>August Strindberg</author>
<publisher>&nor;</publisher>
<price>$30</price>
</book>
<book>
<isbn code="c2">91-2-705229-X</isbn>
<title>The red room</title>
<titel>Röda rummet</titel>
<author>August Strindberg</author>
<publisher>&nor;</publisher>
<price>$30</price>
</book>
<book>
<isbn code="c3">0-7821-2278-7</isbn>
<title>Effective Web Design</title>
<author>Ann Navarro-Tabinda Khan</author>
<publisher>&sybex;</publisher>
<price>$35</price>
</book>
<book>
<isbn code="c4">91-1-962851-X</isbn>
<title>The key to your own Homepage</title>
<titel>Nyckeln till din hemsida på internet</titel>
<author>Dan Josefsson</author>
<publisher>&nor;</publisher>
<price>$30</price>
</book>
</inventory>
Du kan ge dina element en unik identifierare med namespaces eller på svenska: namnrymder
Använd ett helt unikt namn som namnrymd t.ex ditt URL. Det syns här i källfilen, hur man kan lägga in en namnrymd.
Bilderna syns endast i Internet Explorer.
Om du vill veta mera så rekomenderar jag XML genom exempel av Benoit Marchal.
16-jun-2005