一>Extensible Markup Language (w3c ---XML标准制订者)
XML不是标记语言!
XML是用以创造类似于HTML的标记语言的元语言!
XML是SGML的子集, 她的出现早于HTML, 体现数据的形式和结构!
XML语法非常严格, 其Tag不拘泥于定式; 相对于SGML精简 / 编程简单!
优势: 允许不同专业(如音乐、化学、数学等)开发与自己的特定领域有关的标记语言
更简易的web数据交换和数据生成;
............
具体应用:
中小型应用程序的数据生成 / 存储 /调度;
[EG: struts中的struts-config.xml, MVC模式框架cocoon 的实现;]
..............
显示:
|_> 在Web浏览器中显示的是XML 代码.
{
使用 <xml datafld=?></xml>
使用Script 语言实现 HTML 中的调用和交互! (javascript / vbscript...) ............ }
[XML 语法严谨!]
{
1. 所有的标记都必须要有一个相应的结束标记;
2. 所有的XML标记都必须正确嵌套;
3. XML标记大小写敏感;
4. 所有标记的属性必须用 "" 括起来;
5. XML Document 必须包含根节点;
1. 名字中可以包含字母、数字以及其它字母;
2. 名字不能以数字或"_" (下划线) 开头;
3. 名字不能以字母 xml (或 XML 或 Xml ..) 开头;
4. 名字中不能包含空格。 }
二> Concept
1>Tag
2>Identifier -----识别文档中的元素;
3>Language
4>Structure -----所有信息均体现某种结构;
5>Metadata -----(Meta标识在HTML中定义网页key/intro...可被搜索但不会显示于页面.)
{
XML对这一原理进行了深化和扩展,用 XML, 可以描述你的信息在哪里,
可以通过meta来验证信息,执行搜索,强制显示,或者处理其他的数据.
1. 可以验证数字签名,使在线商务的提交动作(submission)有效。
2.可以被方便的建立索引和进行更有效搜索。
3.可以在不同语言之间传输数据。
}
6>Display (使用CSS / XSL 显示XML标记创建的文档.)
{
6.1. XSL全称是Extensible Stylesheet Language(可扩展样式语言), 是将来设计XML文档 显示样 式的主要文件类型。它本身也是基于XML语言的。使用XSL,你可以灵活的设置 文档显示样式,文档将自动适应任何浏览器和PDA(掌上电脑). XSL也可以将XML转化为HTML,那样,老的浏览器也可以浏览XML文档了。
6.2. Cascading Style Sheets 6.3. Behaviors
}
7>Document Object Model(ms 特有的,定义一些动作) 如何使用HTML或者XML对文档这个对象进行操作&控制的标准. { DOM就是一种详细描述HTML/XML文档对象规则的API。它规定了HTML/XML文档 对象的命名协定,程序模型,沟通规则等。在XML文档中,我们可以将每一个标识元素 看作一个对象---它有自己的名称和属性。 XML创建了标识,而DOM的作用就是告诉script如何在浏览器窗口中操作和显示这些标识 }
三> Speech
XML文档包含三个部分:
1. 一个XML文档声明;
2. 一个关于文档类型的定义;
3. 用XML标识创建的内容。
1>Element (create by yourself)
2>Tag (use to definition Element)
2.1> Attribute (describe tag attr)
3>Declaration EX: <?xml version="1.0" encoding="gb2312"?>
4>Document Type Definition
{ 通过DTD文件可以检测XML文档的结构是否正确。但建立XML文档并不一定需要DTD文件。 }
5>Well-formed XML {<?xml version="1.0" standalone="yes" encoding="UTF-8"?>}
6>Valid XML (DTD)
<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">
DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
DTD 文件调用:
1>直接包含在XML文档中的DTD;
2>调用独立的DTD文件;
DTD
{
1.Schema
schema是数据规则的描述。schema做两件事:
a.它定义元素数据类型和元素之间的关系;
b.它定义元素所能包含的内容类型。 DTD就是关于XML文档的一个schema。
2.Document Tree
"文档树"是文档元素分级结构的形象表示。 一个文档结构树包含根元素,根元素是最顶级的元素。 在XML和DTD文件中,第一个定义的都是根元素。
3.Parent Element(父元素)/Child Element(子元素)
父元素是指包含有其它元素的元素,被包含的元素称为它的子元素。 没有包含任何子元素的最后一级元素我们也称之为"页元素"。
4.Parser
Parser是一种检查XML文档是否遵循DTD规范的工具软件。 XML的parser发展为两类: "非确认类paeser",只检测文档是否遵守XML语法规则,是否用元素标识建立了文档树。 "确认类paeser",它不但检测文档语法,结构树, 而且比较解析你使用的元素标识是否遵守了相应DTD文件的规范。}
四> XML Syntax
OutLine: XML syntax rule / Element / Comment / CDATA / Namespaces /Entity / DTD
(空标识就是标识对之间没有内容的标识。比如<br>,<img>等标识。在XML中,规定所有的标识必须有结束标识,针对这样的空标识,XML中处理的方法是在原标识最后加 / )
character data {<![CDATA[这里放置需要显示的字符]]>}
Namespaces { Namespaces同样需要在XML文档的开头部分声明,
Entity: 类似于 Macro / model in DreamWeaver
DTD syntax: (在dtd中定义一个元素,在xml文档中使用)
<!ELEMENT DESCRIPTION(#PCDATA,DEFINITION)*>
#PCDATA
包含字符或文本数据
,
使用逗号分隔排序 <MYFILE (TITLE,AUTHOR,EMAIL)> --------- 必须包含;
使用"|"表示或者 <MYFILE (TITLE | AUTHOR | EMAIL)> --------- 可选;
name 只能使用一次 <MYFILE (TITLE)>
name? 使用一次或者不使用 <MYFILE (TITLE,AUTHOR?,EMAIL?)>
name+ 使用至少一次或多次 <MYFILE (TITLE+,AUTHOR?,EMAIL)>
name* 使用一次,多次,或者根本不使用 <MYFILE (TITLE*)>
( ) 设置组,可以嵌套 <MYFILE(#PCDATA | TITLE)*>
元素MYFILE包含一个或者更多的文本或者TITLE子元素。
<MYFILE((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>
MYFILE元素必须包含一些内容,内容或者是一个注释;也或者是多个组,组里包含:
一个,多个或者没有TITLE子元素,接着是一个或者没有AUTHOR子元素,
再接着是一个必须的EMAIL子元素
如果我们想明确地告诉XML程序,标记中的空白有明确的含义,不要随便去掉(如在一些诗中,空格有它具体的意义)则可在标记中加入一个XML内置的属性——xml:space 。如(注意属性名称和值的大小写):
〈诗歌 xml:space="preserver"〉 祖国啊! 祖国! 我的祖国! 〈/诗歌〉
另外,在XML文件中特殊字符,必须用相应符号代替。 特殊字符 替代符号&& &< ⁢> >" "' '
〈?xml-stylesheet href="URL" type="text/css"?〉〈?xml-stylesheet href="URL" type="text/xsl"?〉
Information