DTD - XML Building Blocks
The
main building blocks of both XML and HTML documents are elements. All XML
documents (and HTML documents) are made up by the following building blocks.
- Elements
- Attributes
- Entities
- PCDATA
- CDATA
Elements
Elements are the main building blocks of both XML
and HTML documents.
Examples of HTML elements are "body" and
"table". Examples of XML elements could be "note" and
"message". Elements can contain text, other elements, or be empty.
Examples of empty HTML elements are "hr", "br" and
"img".
Example:
<body>some
text</body>
<message>some
text</message>
Attributes
Provide extra information about elements.
Are always placed inside the opening tag of an
element.
Always come in name/value pairs.
The
following "img" element has additional information about a source
file:
<img
src="computer . gif " / >The name of the element is
"img". The name of the attribute is "src".
The value of the attribute is
"computer.gif". Since the element itself is empty it is closed by a
" /".
Entities
Some characters have a special meaning in XML,
like the less than sign (<) that defines the start of an XML tag.
Most of you
know the HTML entity: " ". This
"no-breaking-space" entity is used in HTML to insert an extra space
in a document. Entities are expanded when a document is parsed by an XML
parser.
&It;
|
<
|
less than
|
>
|
>
|
greater than
|
&
|
&
|
ampersand
|
'
|
‘
|
apostrophe
|
"
|
“
|
quotation mark
|
PCDATA
PCDATA means parsed character data.
Character data is the text found between the start
tag and the end tag of an XML element.
PCDATA is
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
& &It; and > entities, respectively.
CDATA
CDATA
means character data.
CDATA
is 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.