Related
s
DOM
HTML
HTML5
MSXML
NAMESPACES
NOT SGML
SAX
SCHEMA
SGML
SVG
TEX
UNICODE
XML CHINESE
XML CONDENSED
XML DUTCH
XSL
C.12 Does XML let me make up my own tags?
No, it lets you make up names for your own element types. If you think tags and elements are the same thing you are already in considerable trouble: read the rest of this question carefully.
The same applies if you are thinking in terms of fields (see question C.17, ‘How do I get XML into or out of my database?’). Wrong paradigm, wrong language.
Don't confuse the term ‘tag’ with the term ‘element’. They are not interchangeable. An element usually contains two different kinds of tag: a start-tag and an end-tag, with text or more markup between them.
XML lets you decide which elements you want in your
document and then indicate your element boundaries using
the appropriate start- and end-tags for those elements.
Each
<!ELEMENT...
declaration defines a type of element that may be used in
a document conforming to that DTD. We call this type of
element an ‘element type’. Just as the HTML
DTD includes the H1 and
P element types, your document can have
color and price
element types, or anything else you want.
Normal non-empty elements are made up of a start-tag,
the element's content, and an end-tag.
<color>red</color>
is a complete instance of the color
element. <color> is only
the start-tag of the element, showing where it begins; it
is not the element itself.
Empty elements are a special case that may be
represented either as a pair of start- and end-tags with
nothing between them (eg <price
retail="123"></price>) or as a single
empty element start-tag that has a closing slash to tell
the parser ‘don't go looking for an end-tag to match
this’ (eg <price
retail="123"/>).