Presentation is loading. Please wait.

Presentation is loading. Please wait.

XML Technologies DTD.

Similar presentations


Presentation on theme: "XML Technologies DTD."— Presentation transcript:

1 XML Technologies DTD

2 What’s in a DTD? Document Type Definition Defines
the legal building blocks of an XML document the document structure The legal elements and attributes A DTD can be defined inside an xml document or outside

3 Why do we need a DTD? An XML file can carry a description of its own format Independent groups of people can agree to use a standard DTD for interchanging data Applications can use a standard DTD to verify that the data received from the outside world is valid A DTD can be used to verify the data

4 <!DOCTYPE root-element [element-declarations]>
An inside DTD (1) <!DOCTYPE root-element [element-declarations]>

5 An inside DTD (2)

6 An inside DTD (3) !DOCTYPE note defines that the root element of this document is note. !ELEMENT note defines that the note element contains four elements: "to,from,heading,body". !ELEMENT to defines the to element  to be of the type "#PCDATA". !ELEMENT from defines the from element to be of the type "#PCDATA". !ELEMENT heading defines the heading element to be of the type "#PCDATA". !ELEMENT body defines the body element to be of the type "#PCDATA".

7 External DTD <!DOCTYPE root-element SYSTEM "filename"> <!DOCTYPE note SYSTEM "note.dtd">

8 The building blocks Elements Attributes Entities PCDATA CDATA

9 Elements Main building block
Can contain text, other elements or be empty The elements b, title and br can be used as follows: <b>Hello world</b> <title>Hello <b>Tom</b></title> <br />

10 <img src="computer.gif" />
Attributes Provide extra information about elements Always placed inside the opening tag Always have a name/value pair Which is the element, attribute and value? <img src="computer.gif" />

11 Entities Entity References Character < > & & " " '
'

12 CDATA Text that will NOT be parsed by a parser
Tags inside the text will NOT be treated as markup and entities will not be expanded

13 PCDATA Parsed character data
Character data is the text found between the start tag and the end tag of an XML element Text that WILL be parsed by a parser The text will be examined by the parser for entities and markup Tags inside the text will be treated as markup and entities will be expanded However, parsed character data should not contain any &, <, or > characters; these need to be represented by the & < and > entities, respectively

14 <!ELEMENT element-name category>
Different Elements <!ELEMENT element-name category>

15 The Empty Element <!ELEMENT br EMPTY> <br />

16 Element with PCDATA <!ELEMENT element-name (#PCDATA)> <!ELEMENT from (#PCDATA)>

17 Element with Any <!ELEMENT element-name ANY> <!ELEMENT note ANY>

18 Elements with Children
<!ELEMENT element-name (child1,child2,...)> <!ELEMENT note (to,from,heading,body)> *Sequence must be respected

19 Element with one child <!ELEMENT element-name (child-name)> <!ELEMENT note (message)>

20 Occurrences One or more <!ELEMENT element-name (child-name+)>
<!ELEMENT note (message+)> Zero or more <!ELEMENT element-name (child-name*)> <!ELEMENT note (message*)> Zero or One <!ELEMENT element-name (child-name?)> <!ELEMENT note (message?)>

21 Mixing ... Either or <!ELEMENT note (to,from,header,(message|body))> Mixed content <!ELEMENT note (#PCDATA|to|from|header|message)*>

22 Declaring Attributes <!ATTLIST element-name attribute-name attribute-type default-value> <!ATTLIST payment type CDATA "check"> <payment type="check" />

23 Atribute Type Type Description CDATA The value is character data
(en1|en2|..) The value must be one from an enumerated list ID The value is a unique id IDREF The value is the id of another element IDREFS The value is a list of other ids NMTOKEN The value is a valid XML name NMTOKENS The value is a list of valid XML names ENTITY The value is an entity ENTITIES The value is a list of entities NOTATION The value is a name of a notation xml: The value is a predefined xml value

24 Attribute Value Value Explanation value
The default value of the attribute #REQUIRED The attribute is required #IMPLIED The attribute is not required #FIXED value The attribute value is fixed

25 CDATA example <!ATTLIST mountain country CDATA "New Zealand"> <mountains> <mountain country="New Zealand"> <name>Mount Cook</name> </mountain>

26 Enumerated Example <!ATTLIST tutorial published (yes | no) "no"> <tutorial published="yes"> <name>XML Tutorial</name> </tutorial>

27 ID example <!ATTLIST mountain mountain_id ID #REQUIRED> <mountain mountain_id="m10001"> <name>Mount Cook</name> </mountain>

28 ID Ref example <!ATTLIST employee employee_id ID #REQUIRED manager_id IDREF #IMPLIED> <employees> <employee employee_id="e10001" manager_id="e10002"> <first_name>Homer</first_name> <last_name>Flinstone</last_name> </employee> <employee employee_id="e10002"> <first_name>Fred</first_name> <last_name>Burns</last_name> </employees>

29 ID Refs example <!ATTLIST individual individual_id ID #REQUIRED parent_id IDREFS #IMPLIED> <individual individual_id="e10001" parent_id="e10002 e10003"> <first_name>Bart</first_name> <last_name>Simpson</last_name> </individual>

30 NMTOKEN example <!ATTLIST tutorial published NMTOKEN #REQUIRED> <mountain country="NZ"> <name>Mount Cook</name> </mountain>

31 Notation example <!NOTATION name SYSTEM "external_id"> <!NOTATION GIF SYSTEM "image/gif"> <!NOTATION JPG SYSTEM "image/jpeg"> <!NOTATION PNG SYSTEM "image/png"> <!ATTLIST mountain photo ENTITY #IMPLIED photo_type NOTATION (GIF | JPG | PNG) #IMPLIED>

32 Entity example <!ATTLIST mountain photo ENTITY #IMPLIED> <!ENTITY mt_cook_1 SYSTEM "mt_cook1.jpg"> <mountain photo="mt_cook_1"> <name>Mount Cook</name> </mountain>

33 More about Entities Entities are variables used to define shortcuts to standard text or special characters Entity references are references to entities Entities can be declared internal or external

34 Internal Entities <!ENTITY writer “Alexiei Dingli"> <!ENTITY copyright "Copyright <author>&writer;&copyright;</author>

35 External Entities <!ENTITY writer SYSTEM " <!ENTITY copyright SYSTEM " <author>&writer;&copyright;</author>

36 Example

37 Exercise Define an XML Vocabulary for a Toaster Markup Language (TML)
It must support features such as: Print message on toast Display on LCD Time stamp

38 Questions?


Download ppt "XML Technologies DTD."

Similar presentations


Ads by Google