XML: 被设计用来传输和存储数据。
HTML:被设计用来显示数据。
主要区别:语法要求不同,标记不同,作用不同。 1、语法要求不同:
在html中不区分大小写,在xml中严格区分。
在HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略
或者之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。
在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。
在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。
在XML文档中,空白部分不会被解析器自动删除;但是html是过滤掉空格的。
2、标记不同:
1、html使用固有的标记;而xml没有固有的标记。
2、Html标签是预定义的;XML标签是免费的、自定义的、可扩展的。
3、作用不同:
html是用来显示数据的;xml是用来描述数据、存放数据的,所以可以作为持久化的介质!Html将数据和显示结合在一起,在页面中把这数据显示出来;xml则将数据和显示分开。 XML被设计用来描述数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。
xml不是HTML的替代品,xml和html是两种不同用途的语言。 XML 不是要替换 HTML;实际上XML 可以视作对 HTML 的补充。XML 和HTML 的目标不同HTML 的设计目标是显示数据并集中于数据外观,而XML的设计目标是描述数据并集中于数据的内容。
没有任何行为的XML。与HTML 相似,XML 不进行任何操作。(共同点)
对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理与传输信息的工具。
XML未来将会无所不在。XML将成为最普遍的数据处理和数据传输的工具。
1.1 有且只有一个根元素 1.2 XML标签大小写正确区分 1.3 正确使用结束标签 1.4 正确嵌套标签 1.5 使用了合法的标签名 1.6 定义有效的属性
注:根标签也要定义!!!
, :顺序 | :或 次数: +(1~n次) *(0~n次) ?(0或1次) 没有
att_name:属性名
<!ATTLIST element-name att_name type >attribute
类型: ID :唯一
(男|女) :列表
“值” :默认值
CDATA :文本
IDREF :外键
#REQUIRED :不为空
#IMPLIED :允许为空
&(逻辑与) & <(小于) < >(大于) > "(双引号) " '(单引号) ’
config.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE config [ <!ELEMENT config (action*)> <!ELEMENT action (forward*)> <!ELEMENT forward EMPTY> <!ATTLIST action path CDATA #REQUIRED type CDATA #REQUIRED > <!ATTLIST forward name CDATA #REQUIRED path CDATA #REQUIRED redirect (true|false) 'false' > ]> <!-- config标签:可以包含0~N个action标签 --> <config> <!-- action标签:可以饱含0~N个forward标签 path:以/开头的字符串,并且值必须唯一 非空 ,子控制器对应的路径 type:字符串,非空,子控制器的完整类名 --> <action path="/registerAction" type="test.action.RegisterAction"> <forward name="success" path="/index.jsp" redirect="true" /> <forward name="failed" path="/register.jsp" redirect="false" /> </action> <action path="/loginAction" type="test.action.LoginAction"> <forward name="a" path="/index.jsp" redirect="false" /> <forward name="b" path="/welcome.jsp" redirect="true" /> </action> </config>