XML对大小写是敏感的
而在XML中,所有的元素都必须要有一个结束标记,如:
< p>This is a paragraph< /p>
< p>This is another paragraph< /p>
注意:从前面的例子中你可能已经注意到了,XML声明没有结束标记。这并不是一个错误。因为声明并不是XML文档的一部分。它不是一个XML元素,因此它不能有结束标记。
XML对大小写是敏感的,这一点不象HTML。在XML中,标记< Letter> 和标记 < letter> 是不一样的。 因此,打开和结束标记的大小写应该写成相同的:
< Message>This is incorrect< /message>
< message>This is correct< /message>
所有的XML元素都必须合理嵌套
如果标记的嵌套不合理,在XML中是没有意义的。 在HTML中,有些元素可以被不适当地彼此嵌套,例如:
< b>< i>This text is bold and italic< /b>< /i>
而在XML ,所有元素都必须彼此合理地嵌套,例如:
< b>< i>This text is bold and italic< /i>< /b>
所有的XML文档都必须要有一个根标记
在一个XML文档中的第一个标记就是根标记。 所有的XML文档都必须包含一个标记对来定义根元素。所有的其他元素都必须嵌套到根元素里面。 所有的元素都可以有子元素。子元素都必须正确地嵌套到母元素中。
< root>
< child>
< subchild>.....< /subchild>
< /child>
< /root>
必须将属性值引起来
在XML中,在属性值周围省略引号是非法的。 同HTML一样,XML元素的名/值对中可以有属性。在XML中,属性值必须引起来。看看下面的两个XML文档。 第一个是正确的,第二个是错误的:
< ?xml version="1.0"?>
< note date=12/11/99>
< to>Tove< /to>
< from>Jani< /from>
< heading>Reminder< /heading>
< body>Don't forget me this weekend!< /body>
< /note>
< ?xml version="1.0"?>
< note date="12/11/99">
< to>Tove< /to>
< from>Jani< /from>
< heading>Reminder< /heading>
< body>Don't forget me this weekend!< /body>
< /note>
文档中的第一个错误是在note 元素中的数据属性没有引起来。 这样是正确的: date="12/11/99"。 这样是错误的: date=12/11/99。
在XML中,空格是保留的
在XML中,文档的空格不能被删除。 这一点不象HTML。在HTML中,这样一句话: Hello my name is Tove, 将被显示成这样: Hello my name is Tove, 因为HTML 把空格除去了。
在XML中, CR / LF被转换成 LF
在XML中, 一个新行通常被存储为 LF。 你知道什么是打字机吗?打字机是上个世纪使用的一种打字机器设备。 当你在打字机上打了一行以后,你要手动回车到左边的空白,然后手动进纸。 在Windows 应用程序中,文本中的新一行通常存储为CR LF 字符对。在Unix 应用程序中,新的一行通常被存储为一个LF字符。而有些应用程序只用一个CR字符来存储新行。
XML没有什么特别的
XML没有什么特别的。只不过是纯文本文件加上一些包含在括号中XML标记。 能处理纯文本的软件也能处理XML。在一个简单的文本编辑器中,XML标记是可视的,不需要什么特别处理。但是在应用程序中,必须要特别处理XML标记。根据应用程序的性质,标记也许可视也许不可视,或者有其功能上的意义。