Home > Articles > Web Services > XML

  • Print
  • + Share This
This chapter is from the book

This chapter is from the book

Name

A name describes an element. It is not unique: lots of elements can have the same name. Therefore, a name cannot be used to identify an individual element. Instead, it tells us the kind of element, similar to declaring the class of an object or the type of a variable. There are no predefined element types and (with a single exception explained later) there are no reserved element names. It is up to the user to create and maintain meaning.

Flash Context

Lexically, XML names are similar to ActionScript names. XML is slightly more permissive. There is a potential for trouble from two characters, the colon (:) and the period (.). These have special meaning in ActionScript but are permitted in XML names. Yet even in XML they imply a sense of namespace hierarchy. The colon is explicitly discouraged (though not forbidden) in the XML protocol. And use of the period seems only to invite disaster. We avoid the use of either one due to their use as namespace delimiters.

Of course there is no requirement that an application map XML names directly to ActionScript names. Most applications that tried to do so would come across an obstacle larger than a dot or two.

ActionScript names are unique within their scope (you cannot have two variables called "foo" on the same level). XML element names are very frequently identical to the names of their siblings. While ActionScript names serve to identify an individual datum, XML element names do not.

Syntax

The restrictions on names are simple. Names can use any letter in the alphabet. The alphabet does not have to be ASCII, Latin-1, or even 8 bit. XML supports Unicode and allows names in the current alphabet. Our examples, however, will all be within the Latin alphabet.

Case matters, but it is your choice. There is no standard practice for use of case in XML. Often element names are all lower case with dashes standing in for spaces:

first-name

Names can use any digits, but they may not start with a digit:

first-name2

XML defines no element names, but it does reserve all names beginning with the three letters "xml" (case insensitive), so xml-test is not a permitted name.

Rules

Character

Initial

Interior

Sample

letters

yes

yes

A B C a b c Å ß ç

digits

 

yes

0 1 2 3

underscore

yes

yes

_

colon

yes, but*

yes, but*

:

dot and dash

 

yes

.—

xml prefix

 

yes

XML xml xML


Examples of Names

ADDRESS

Street, city, etc.

player

Contains personal data, such as an address

team

Probably contains several player elements

_team

Different kind of team element

team.mascot

Just a simple name. The dot has no meaning.

team_mascot

Alternative name

team-mascot

Traditional XML name formation

Formula1

Digits can be included

test-xml

Noninitial XML triplet is fine


Bad examples

xmlTEST

Cannot begin with xml

9-iron

Cannot begin with digit

team:player

Legal, but very bad form unless team is a namespace


  • + Share This
  • 🔖 Save To Your Account