元素有着不同的内容类型。 一个XML元素就是从(包含)元素的起始标记到(包含)元素的结束标记之间的全部内容。
一个元素可以有元素内容、混合内容、简单内容和空内容。一个元素还可以有属性。 在上面的例子中, book有元素内容,因为它包含了其它元素。Chapter 有混合内容,因为它包含了文本和其它元素。 Para有简单内容(或文本内容),因为它只包含文本。 Prod有空内容,因为它没有携带任何信息。 在上面的例子中只有prod 元素有属性。属性id 的值为 "33-657"。属性media 的值为 "paper"。
元素的命名
XML元素必须遵循下面的命名规则:
名字中可以包含字母、数字以及其它字母
名字不能以数字或"_" (下划线) 开头
名字不能以字母 xml (或 XML 或 Xml ..) 开头
名字中不能包含空格
要注意当你“发明”一个元素名时,要遵守以下简单的规则:
任何名字都可以使用,没有什么字是保留的,但是一定要让名字具有描述性。带有一个下划线分隔符的名字就很好。
比如说: < first_name>, < last_name>。
要避免在名字中使用 "-" 和 "." 。如果你的软件想用first减去name(first-name),或将 "name" 作为对象 "first" 的属性(first.name)时就会出现混淆。
你愿意让元素名多长都可以,但是不要太夸张。名字应该简短,比如 < book_title>,而最好不要这样:
< the_title_of_the_book>。
XML 文档通常都有一个相应的数据库,其中的域与 XML文档中的元素相对应。最好是将XML文档中元素的命名规则也应用于数据库的命名中。
非英文字母如éòá 在XML 元素名中也是合法的,但是要看看你的软件供应商是不是支持它们。
在元素名中不能使用 ":" ,因为它是为一种成为“名字空间”(namespaces)的东西预留的。在后面将对此进行介绍。
XML属性
同HTML一样,XML元素可以在其起始标记中有属性。属性是用来提供有关元素的附加信息的。
XML 属性
XML元素可以有属性。 在HTML只能感,你可能记得: < IMG SRC="computer.gif">。SRC 属性提供了有关IMG元素的一些附加信息。 在HTML (和XML)中,属性提供关于元素的附加信息:
< img src="computer.gif">
< a href="demo.asp">
属性所提供的信息通常不是数据的一部分。在下面的例子中,文件类型与数据无关,但是它对于想要操作元素的软件来说很重要:
< file type="gif">computer.gif< /file>
引用形式, "female" 还是 'female'?
属性值必须总是包含在引号中,但是单引号和双引号都能用。对于一个人的性别来说,人的标记可以这样写:
< person sex="female">
或这样写:
< person sex='female'>
双引号是最常用的,但是有时(如果属性值本身包含引号的话),必须要使用单引号,就象下面这个例子:
< gangster name='George "Shotgun" Ziegler'>