0% found this document useful (0 votes)
96 views

Lab 01 XML DTD Exercises

This document outlines 13 exercises for an XML technologies class focusing on creating XML documents and DTDs. The exercises start with basic XML document structure and progress to more complex features like external DTDs, attributes, entities, references, and conditional sections. The goal is to practice skills like ensuring well-formedness, validity, extending structures, and modifying DTDs and XML documents.

Uploaded by

Hassane Agmir
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views

Lab 01 XML DTD Exercises

This document outlines 13 exercises for an XML technologies class focusing on creating XML documents and DTDs. The exercises start with basic XML document structure and progress to more complex features like external DTDs, attributes, entities, references, and conditional sections. The goal is to practice skills like ensuring well-formedness, validity, extending structures, and modifying DTDs and XML documents.

Uploaded by

Hassane Agmir
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

NPRG036: XML Technologies

Practical Classes 1 and 2:

XML, DTD: Exercises


24. 2. 2020

Jiří Helmich | [email protected]


Martin Svoboda | [email protected]

http://www.ksi.mff.cuni.cz/~svoboda/courses/192-NPRG036/
Exercise 1
• Create an XML document with the following
sample real estate data
▪ Root element real-estate will contain a sequence of
sub-elements agencies, owners, properties and flats,
all with an empty content
▪ Ensure well-formedness

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 2
Exercise 2
• Create an internal DTD for the previous XML
document
▪ Ensure its validity
▪ Then try to break it

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 3
Exercise 3
• Move the previous DTD to an external file and
validate the XML document again

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 4
Exercise 4
• Extend the previous DTD such that…
▪ Elements agencies, owners, properties and flats can now contain
particular agency, owner, property and flat elements respectively
‒ Agency = name, e-mail, phone
‒ Owner = name
‒ Property = name, description, number of flats, features, owner reference
‒ Flat = name, description, features, property reference
▪ Use attributes for references, otherwise elements
▪ Use only CDATA and #PCDATA for content and values
• Extend the XML document such that it contains
1 sample agency, 1 owner, 1 property, and 2 flats
▪ Ensure well-formedness and validity

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 5
Exercise 5
• Modify both the DTD and XML:
▪ Description of properties…
‒ may now contain a text with references to flats
‒ E.g.: …<flatReference flatName="A1001">…</flatReference>…
▪ Description of flats…
‒ now contains a structured description with an arbitrary, but
still well-formed XML fragment

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 6
Exercise 6
• Extend both the DTD and XML:
▪ Agencies, owners and properties must now have
exactly one address (directly after their name)
▪ Each address consists of:
‒ Street and number
‒ Postal code
‒ State
‒ Country
▪ Respect the order, but note also that country is
optional and when missing, postal code must be
placed at the end (i.e. after state and not before)

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 7
Exercise 7
• Modify both the DTD and XML:
▪ Address, e-mail and phone records of agencies may
now be specified in an arbitrary order
▪ Ensure that there are at least 2 flats
▪ If features (of properties and flats) are specified, then
at least 2 and at most 5 of them are provided

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 8
Exercise 8
• Extend both the DTD and XML:
▪ Flats can now be associated with internal records
▪ Each record contains…
‒ Date and additional textual information, or
‒ sequence of at lest one nested record

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 9
Exercise 9
• Modify and extend both the DTD and XML:
▪ Add language attribute to the root element
‒ The value needs to be fixed to EN
▪ Add comfort level attribute to flats
‒ Only A, B, C, D, E or F values are allowed
‒ F is the default value
▪ References to owners of properties are now optional

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 10
Exercise 10
• Modify and extend both the DTD and XML:
▪ Add attributes with unique artificial identifiers to
owners, properties and flats
‒ E.g. o1, o2 in case of owners etc.
▪ Transform all the existing references from names
to these new identifiers
▪ Use ID and IDREF data types
• Try to violate the referential integrity

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 11
Exercise 11
• Extend both the DTD and XML:
▪ Insert the following fragment into a description of a
selected flat in a way that it is not interpreted as XML
‒ <span class="btn">Button</span>
‒ Use entities
▪ Declare a new parsed entity for the superscript of 2
and use it as well
‒ Unicode U+00B2 (178)

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 12
Exercise 12
• Extend the XML document:
▪ Insert the following fragment into a description of one
of the flats using a CDATA section:
‒ <span class="btn">Button</span>
▪ Generate a date of one of the flat records using a PHP
processing instruction:
‒ echo date("Y-m-d");
▪ Add comments to visually separate individual parts of
the document

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 13
Exercise 13
• Modify the DTD schema:
▪ Using parameter entities and conditional sections,
declare 2 modes for the content of properties:
‒ Verbose
• Everything
‒ Standard
• Everything except the description
▪ Activate the standard mode and adjust the XML
document appropriately

NPRG036: XML Technologies | Practical Classes 1 and 2: XML, DTD: Exercises | 24. 2. 2020 14

You might also like