第二章 XML简介
XML简介
XML简介XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。
与HTML相似,XML是一种显示数据的标记语言,它能使数据通过网络无障碍地进行传输,并显示在用户的浏览器上。
XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。
它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
XML是元标记语言关于XML要理解的第一件事是,它不只是像超文本标记语言(Hypertext Markup Language,HTML)或是格式化的程序。
这些语言定义了一套固定的标记,用来描述一定数目的元素。
如果标记语言中没有所需的标记,用户也就没有办法了。
这时只好等待标记语言的下一个版本,希望在新版本中能够包括所需的标记,但是这样一来就得依赖于软件开发商的选择了。
但是XML是一种元标记语言。
用户可以定义自己需要的标记。
这些标记必须根据某些通用的原理来创建,但是在标记的意义上,也具有相当的灵活性。
例如,假如用户正在处理与家谱有关的事情,需要描述人的出生、死亡、埋葬地、家庭、结婚、离婚等,这就必须创建用于每项的标记。
新创建的标记可在文档类型定义(Document Type Definition,在以后的篇幅中常简称为DTD)中加以描述。
在本书的第二部分中将会学到有关DTD的更多的知识。
现在,只需把DTD看作是一本词汇表和某类文档的句法。
例如,在Peter Murray-Rust的Chemical Markup Language (化学标记语言,简写为CML)中的MOL.DTD文件中描述了词汇表和分子科学的句法:其中包括chemistry(化学)、crystallography(结晶学)、solid state physics(固体物理)等词汇。
它包括用于atoms(原子)、molecules(分子)、bonds (化学键)、spectra(光谱)等的标记。
XML介绍
也是一个元素,元素除了包含元素还可以包含文本信息。
元素也可以含有属性,比如property就具有name属性。
XML 元素可以在开始标签中包含属性,属性 (Attribute) 提供关于元素的额外(附加)信息。
属性通常提供不属于数据组成部分的信息,但是对需要处理这个元素的应用程序来说却很重要。
XML 属性必须加引号,属性值必须被引号包围,不过单引号和双引号均可使用。
如果属性值本身包含双引号,那么有必要使用单引号包围它,或者可以使用实体引用。
1.2.3. 大小写敏感XML对大小写是敏感的,这一点不象HTML。
在XML中,标记< Letter> 和标记 <letter> 是不一样的。
因此,打开和结束标记的大小写应该写成相同的:1.2.4. 元素必须有关闭标签XML要求每个元素必须由起始标签和关闭标签组成。
关闭标签与起始标签的名字相同,写法上多一个“/”例如:<Letter> 只有起始标记是不行的。
<Letter></Letter> 必须要有关闭标签1.2.5. 必须有根元素XML要求必须有根元素,所谓根元素就是不被其它元素包围(不含有父元素)。
并且根元素只能有一个。
01.<d a t a s o u r c e i d ="d b _o r a c l e "> 02.…03. </d a t a s o u r c e >01.<l e t t e r >…</l e t t e r >02. <L e t t e r >…</L e t t e r >01.<d a t a s o u r c e i d =“d b _o r a c l e ”> 根元素 02.<p r o p e r t y n a m e ="u r l ">03.j d b c :t h i n @192.168.0.26:1521:t a r e n a 04.</p r o p e r t y >05.<p r o p e r t y n a m e ="d b U s e r ">o p e n l a b </p r o p e r t y >06. <p r o p e r t y n a m e ="d b P w d ">o p e n 123</p r o p e r t y >07.</d a t a s o u r c e>08.这里不能再定义与d a t a s o u r c e平级的元素!1.2.6. 元素必须正确嵌套XML要求所有元素必须正确的嵌套。
第二章 XML语法规则
3
小结
软件学院
标记语言的基本概念
4
标记语言的基本特点:在表示数据内容的基础上, 插入各种具有明确含义的标记,以起到对数据内 容进行解释、说明、限制等作用。 标记的表示方法:<>,一般成对使用。 <a href=>yahoo</a> 标记的命名规则
28
软件学院
属性与子元素的有关问题
属性的表达方式:
<Student ID="100"> <Name>TOM</Name> </Student>
29
子元素的表达方式:
<Student > <id> 100</id> <Name>TOM</Name> </Student>
软件学院
属性与子元素的有关问题(续)
软件学院
25
元素(续)
XML元素的内容 : 元素内容的类型:嵌套元素/字符数据/实体引用/ CDATA节/处理指令/注释 有三类XML元素的内容:
– 混合内)
XML元素命名与Java、C的命名规则类似: – 元素名必须是以字母、下划线开始的字符串;
21
软件学院
元素(续)
那么原来的应用程序会中断或者崩溃么
22
?
不会。应用程序仍然会正确的解读<to>, <from>, 和<body> 等元素,并且产生同样 的输出。
软件学院
元素(续)
23
XML文档是可以扩展的!
软件学院
元素(续)
元素之间的关系:子元素/父元素、祖先/后代
xml的语法
XML(Extensible Markup Language)是一种元标记语言,可以用来描述数据。
XML提供了一种标准化的方式,使程序和应用程序可以有效地共享数据,而不受数据类型和平台的限制。
XML的语法包括文档格式、元素、属性和实体等。
一、XML文档格式XML文档是一个标记文档,包含一个XML声明,一个根元素和其他元素。
XML声明用来声明文档的版本号、编码方式和其他信息。
根元素是文档的起始点,它可以包含其他元素和属性。
其他元素是根元素的子元素,可以包含其他元素和属性。
属性是元素的附加信息,可以用来描述元素的语义。
二、XML元素XML元素是文档的基本单位,用来描述数据。
元素可以包含子元素,也可以包含属性。
元素的起始标签和结束标签之间的内容是元素的内容。
元素的内容可以是文本、其他元素、属性或实体。
三、XML属性XML属性是元素的附加信息,可以用来描述元素的语义。
属性的值可以是字符串、数值、日期或其他类型的数据。
属性的名字应该使用驼峰命名法,即首字母小写,其余字母大写。
属性的值应该使用双引号括起来,以区分属性的名字和值。
四、XML实体XML实体是一个名称,可以用来表示一个完整的文本或其他数据。
实体可以用来替换XML中的文本或其他数据,以提高XML文档的可读性和可维护性。
五、XML语法错误XML文档的语法错误可能会导致XML解析器无法解析文档。
常见的XML语法错误包括:1. 缺少元素或属性的起始标签或结束标签。
2. 元素或属性的名字错误,或者名字不符合驼峰命名法。
3. 元素或属性的值不符合XML的语法规则,例如字符串值缺少引号或实体值缺少引号。
4. 属性的名字与元素的名字相同。
5. 文档格式不正确,例如缺少XML声明或根元素。
六、XML文档解析XML文档可以使用XML解析器解析,以获取文档的内容。
XML解析器可以使用SAX(Simple API for XML)或DOM(Document Object Model)等方式解析文档。
XML从入门到深入(超详细)
XML从⼊门到深⼊(超详细)⼀:什么是XML XML (eXtensible Markup Language)指可扩展标记语⾔,标准通⽤标记语⾔的⼦集,简称XML。
是⼀种⽤于标记电⼦⽂件使其具有结构性的标记语⾔。
XML可以标记数据、定义数据类型,可以允许⽤户对⾃⼰标记语⾔进⾏⾃定义,是对⼈和机器都⽐较友好的数据承载⽅式;XML其前⾝是SGML(标准通⽤标记语⾔)。
传统的系统已经远远不⾜以来表达复杂的信息,简单的语⾔根本⽆法表达出⼀些细微的差别,需要更完整的语⾔来表达⽹络世界⾥⽇益丰富复杂的信息内涵 XML - 可扩展标记语⾔便由此诞⽣,它不像HTML追求美观的效果,⽽不重视实际交流应⽤现象,所以XML语⾔的出现核⼼是⽤来展⽰及数据的交互,它的出现把⽹络表达的语⾔集合推进了⼀⼤步,XML传递信息,具有跨平台的特性(如:WebService)它作为数据交互和⽹络计算基础,尤其是在电⼦商务应⽤上的出⾊表现,现在已经没⼈怀疑它给信息社会带来的⾰命性影响(随着2021的到来JSON也是⼀个不错的选择)<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><Students><Student><name>蚂蚁⼩哥</name><address>安徽六安</address></Student><Student><name>欧阳康康</name><address>安徽六安</address></Student></Students>1:编写XML注意事项①:XML 中的每个元素都是成对出现的,有开始和结束,⾃闭和标签除外,但是都得有 '/'结束标志如:<student>xxxxx</student> ⾃闭和:<student name='xxx' />②:每个XML⽂档都有且只有⼀个根元素(Root Element)③:XML标签对⼤⼩写敏感④:XML必须正确嵌套⑤:同级标签以所缩进对齐⑥:元素名称可以包含字母,数字,但不能以数字开头⑦:元素名称中不能含有空格或者 ' : '号⑧:如出现特殊字符需要转义如:<,>,",',&....2:使⽤XML的优缺点优点:①:XML是使⽤信息⾃描述的新语⾔(没有约束的情况下)②:信息共享(⾃定义数据格式,⽽且很容易使⽤⼯具读写)③:数据传递(⽀持各种通道传递数据,如WebService就使⽤XML传输数据)④:数据重⽤、分离数据和显⽰、⽂档包含语义、⽅便阅读有⾯向对象的树形结构缺点:①:数据量⼤是传输效果不好,因为XML定义了和数据⽆关的标签3:XML基本语法第⼀⾏必须是XML的声明<?xml ?>version:xml的版本,必须设定,当前只有'1.0'版本encoding:当前xml⾥⾯的数据格式,默认UTF-8standalone:标记是否是⼀个独⽴的xml,默认yes如果设置 no 表⽰这个XML不是独⽴的⽽是依赖于外部的DTD约束⽂件(后⾯说)<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><Students><Student><name>蚂蚁⼩哥</name><address>安徽六安</address></Student></Students>⼆:XML专⽤标记 XML其实是有专⽤的标记,也可以理解是XML的基本语法,但是这些语法你在看HTML语法时也看到过,因它们都属于⼀个⼤家族,只是应⽤的⽅向不⼀样⽽导致的差异有部分不⼀样1:XML注释 语法:<!-- 这是⼀个注释 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><School><!--定义学⽣对象这是⼀个注释--><Student id="st01" name="张三" age="23"/></School>①:注释⾥的内容不要出现 --②:不要把注释写在元素中间如<Student <!--这⾥注释报错--> ></Student>③:注释不可嵌套2:XML处理PI指令 其实XML⾥的PI指令⼤家可以理解为XML设置样式的,但是考虑到XML是⽤于存储数据的载体,所以这个指令⽤的也不多 语法:<?⽬标指令?> 如引⼊CSS样式:<?xml-stylesheet type='css类型' href='引⼊css样式地址'> CSS类型可以设置 type='text/css' type='text/xsl'<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!--引⼊PI指令注意只能放在头部并引⼊style.css样式--><?xml-stylesheet type='text/css' href='./style.css' ?><School><!--定义学⽣对象这是⼀个注释--><Student><name>蚂蚁⼩哥</name></Student></School><!--CSS样式-->name {font: normal 500 22px "微软雅⿊";color:#f69;}3:XML之CDATA节 ⽤于把整段⽂本解析为纯字符串数据⽽不是标记的情况,其实包含在CDATA节中的特殊字符<、>、&都会当作字符展⽰<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><School><!--定义学⽣对象这是⼀个注释--><Student><!--使⽤<![CDATA[xxx]]>可以把特殊字符当作⽂本--><name><![CDATA[我是⼀个"⽂本":想不到把]]></name></Student></School> 那么问题来的,如果我不使⽤CDATA节包裹的话在⽂本区域输⼊<,>等就会和关键字符冲突,我们需要使⽤转义<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><School><!--定义学⽣对象这是⼀个注释--><Student><!--这⾥的蚂蚁⼩< > 哥报错 <>⼲扰,我们要使⽤转义--><!--<name>蚂蚁⼩<>哥</name>--><name>蚂蚁⼩<>哥</name></Student></School><!--常⽤⽹页转义字符 xml也可以使⽤--><!--显⽰结果描述实体名称实体编号空格  < ⼩于号 < <> ⼤于号 > >& 和号 & &" 引号 " "' 撇号 '(IE不⽀持) '¢分 ¢ ¢£ 镑 £ £¥ ⽇圆 ¥ ¥§ 节 § §© 版权 © ©® 注册商标 ® ®× 乘号 × ×÷ 除号 ÷ ÷-->XML中转义字符的使⽤三:核⼼DTD语法约束1:什么是DTD,为什么使⽤DTD DTD是⽂档类型定义(Document Type Definiyion),它是⽤来描述XML⽂档结构,⼀个DTD⽂档会包含如下内容:元素(ELEMENT):的定义规则,描述元素之间的关系规则属性(ATTLIST):的定义规则,可以定义具体的标签内部属性为什么使⽤DTD:①:DTD⽂档与XML⽂档实例关系如类与对象关系②:有了DTD,每个XML⽂件可以携带⼀个⾃⾝格式描述③:有了DTD,不同组织的⼈可以使⽤⼀个通⽤DTD来交换数据④:应⽤程序可以使⽤⼀个标准的DTD校验从外部世界接受来的XML是否是⼀个有效标准XML⑤:可以使⽤DTD校验⾃⼰的XML数据2:DTD定义⽂档规则(DOCTYPE)DTD⽂档的声明及引⽤有三种:内部DTD⽂档:<!DOCTYPE 根元素[定义元素属性等等内容]>外部DTD⽂档:<!DOCTYPE 根元素 SYSTEM 'DTD⽂件路径'>内外部DTD⽂档结合:<!DOCTYPE 根元素 SYSTEM 'DTD⽂件路径'[定义元素属性等等内容]><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!--注:此时我这⾥⾯的 ELEMENT 定义元素的我后⾯介绍--><!DOCTYPE Student[<!ELEMENT Student (name)><!ELEMENT name (#PCDATA)>]><Student><name>蚂蚁⼩哥</name></Student>内部定义DTD⽂档<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student SYSTEM './st.dtd'><Student><name>蚂蚁⼩哥</name></Student><!--下⾯是⽂件 st.dtd--><!DOCTYPE Student[<!ELEMENT Student (name)><!ELEMENT name (#PCDATA)>]>外部定义DTD⽂档<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student SYSTEM './st.dtd'[<!ELEMENT Student (name,age,sex)><!ELEMENT sex (#PCDATA)>]><Student><name>蚂蚁⼩哥</name><age>23</age><sex>男</sex></Student><!--外部引⽤的st.dtd⽂件--><?xml version="1.0" encoding="UTF-8" ?><!--这⾥不能写DOCTYPE,因为这个可以当作元素引⽤,具体规则在上⾯定义--><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)>内外部定义DTD⽂档3:DTD元素的定义(ELEMENT)语法:<!ELEMENT 元素名称(NAME) 元素类型(COUTENT)>注:ELEMENT关键字元素名称:就是⾃定义的⼦标签名称元素类型:EMPTY:该元素不能包含⼦元素和⽂本,但是可以有属性,这类元素称为⾃闭和标签ANY:该元素可以包含任意在DTD中定义的元素内容#PCDATA:可以包含任何字符数据,设置这个就不能包含⼦元素了,⼀般设置具体value混合元素类型:只包含⼦元素,并且这些⼦元素没有⽂本混合类型:包含⼦元素和⽂本数据混合体<!-- 定义空元素EMPTY --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student[<!ELEMENT Student EMPTY>]><!--约束为空元素所以写成⾃闭和标签,--><Student/><!-- 定义组合元素(student,teacher)并为每个元素设置类型(#PCDATA) --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student,teacher)><!ELEMENT student (#PCDATA)><!ELEMENT teacher (#PCDATA)>]><School><student>我是学⽣</student><teacher>我是⽼师</teacher></School><!-- 设置任意元素ANY 虽然student元素内部没有再设置元素⽽设置ANY,那我就可以在编写任意⼦元素,前提在⾥⾯有定义 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student)><!ELEMENT student ANY><!ELEMENT name (#PCDATA)><!ELEMENT address (#PCDATA)>]><School><student><name>蚂蚁⼩哥</name><address>安徽六安</address></student></School><!-- 元素组合及混合,可以使⽤通配符 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student*,teacher?)><!ELEMENT student (#PCDATA)><!ELEMENT teacher (#PCDATA)>]><School><student>我是学⽣A</student><student>我是学⽣B</student></School>DTD元素定义具体代码通配符:() ⽤来元素分组如:(a|b|c),(d,e),f 分三组| 在列表中选⼀个如(a|b)只能选⼀个表⽰a|b必须出现并⼆选⼀+ 该对象⾄少出现⼀次或多次如(a+) 该元素可以出现多次* 该对象允许出现0次到多次如(a*) 该元素可以不出现或出现多次表⽰可出现⼀次或者不出现(a?) a可以出现,或者不出现, 常⽤按照顺序出现(a,b,c) 表⽰依次a,b,c4:DTD属性的定义(ATTLIST)语法:<!ATTLIST 元素名称属性名称类型属性特点>元素名称:我们⾃定义的元素名称属性类型:我们为元素上添加⾃定义属性类型:CDATA:任意字符(理解为任意字符的字符串)ID:以字母开头唯⼀值字符串,IDREF/IDREFS:可以指向⽂档中其它地⽅声明的ID类型值(设置此值是可以在⽂档上存在的)使⽤IDREFS时可以使⽤空格隔开NMTOKEN/NMTOKENS:NMTOKEN是CDATA的⼀个⼦集,设置该属性时只能写英⽂字母、数字、句号、破折号下划线、冒号,但是属性值⾥⾯不能有空格 NMTOKENS:它是复数,如果设置多个值由空格隔开 Enumerated: 事先定义好⼀些值,属性的值必须在所列出的值范围内属性特点:#REQUIRED表⽰必须设置此属性#IMPLIED表⽰此属性可写可不写#FIXED value表⽰元素实例中该属性的值必须是指定的固定值#Default value为属性提供⼀个默认值<!-- 第⼀种写法 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student*)><!ELEMENT student EMPTY><!--定义了⼀个id属性类型为ID 必须值--><!ATTLIST student id ID #REQUIRED><!--设置了name属性为任意字符的字符串必须值--><!ATTLIST student name CDATA #REQUIRED ><!--设置address 类型为多个常规字符串且不需要⼀定存在此属性--><!ATTLIST student address NMTOKENS #IMPLIED><!--设置srcID 该属性的值只能从id上⾯上取--><!ATTLIST student srcID IDREFS #IMPLIED>]><School><student id="st001" name="蚂蚁⼩哥"/><student id="st002" name="欧阳;*)*^%$:⼩⼩" address="安徽_六安安徽_合肥"/><student id="st003" name="许龄⽉" srcID="st001 st002"/></School><!-- 第⼆种写法 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student*)><!ELEMENT student EMPTY><!--简便写法,全部放在⼀起写--><!--设置了name属性为任意字符的字符串不⼀定要设置此属性,但是设置必须按照指定的值--> <!ATTLIST studentid ID #REQUIREDname CDATA #FIXED '我们名字都⼀样'address CDATA '默认都是安徽'sex (男|⼥) #REQUIRED>]><School><student id="st001" sex="男" name="我们名字都⼀样"/><student id="st002" sex="⼥"/><student id="st003" sex="男" name="我们名字都⼀样"/></School>DTD的属性定义具体代码5:DTD实体定义(ENTITY)实体分类:普通内部实体,普通外部实体,内部参数实体,外部参数实体语法:普通内部实体定义:<!ENTITY 实体名 "实体值">普通外部实体引⼊:<!ENTITY 实体名 SYSTEM "URI/URL">内部参数实体定义:<!ENTITY % 实体名 "实体值">外部参数实体引⼊:<!ENTITY % 实体名 SYSTEM "URI/URL">⽰例定义:<!ENTITY name "蚂蚁⼩哥"><!ENTITY address "安徽六安">⽰例XML⾥使⽤:<name>&name;</name>使⽤范围:定义实体分为内部实体(定义在当前xml⽂件)和外部实体(定义在外部dtd⽂件⾥)<!-- 内部普通实体 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student[<!ELEMENT Student (name,address)><!ELEMENT name (#PCDATA)><!ELEMENT address (#PCDATA)><!ENTITY name "蚂蚁⼩哥"><!ENTITY address "安徽六安">]><Student><name>&name;</name><address>&address;</address></Student>DTD实体定义代码6:使⽤命名空间(Namespace) 避免元素名冲突,使⽤URL作为XML的Namespaces(这样也有约束和提⽰好处) 语法:xmlns:[prefix]="URL" 元素和属性都可以应⽤命名空间 XML的元素名是不固定的,当两个不同类型的⽂档使⽤同样的名称描述两个不同类型的元素的时候就会出现命名冲突<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><h:table xmlns:h="/1999/xhtml"><h:tr><h:td>名称A</h:td><h:td>名称B</h:td></h:tr></h:table>四:核⼼Schema语法约束1:什么是XML Schema XML Schema描述了XML⽂档的结构。
xml语言结构
xml语言结构
XML(可扩展标记语言)是一种标记语言,用于描述数据的结构和内容。
它使用一系列简单的标记来描述数据,这些标记可以告诉计算机数据的类型、含义和结构。
XML语言结构主要包括以下部分:
1.元素:XML文档由各种元素组成,每个元素都可以包含其他元素。
元素以起始标记开
始,以结束标记结束。
例如,<example>是一个元素,</example>是该元素的结束标记。
2.标记:标记是用来定义元素的关键字,例如<example>和</example>。
标记必须成对出现,
且必须有一个起始标记和一个结束标记。
3.属性:属性是元素的附加信息,它们由名称和值组成,并放在起始标记中。
例如,<example
attr="value">中,“attr”是属性名称,“value”是属性值。
4.文本内容:元素可以包含文本或其他元素,文本内容是XML文档中的实际数据。
5.命名空间:为了解决不同XML文档中可能存在的命名冲突问题,可以使用命名空间来
区分不同的元素和属性。
6.DTD(文档类型定义):DTD用来定义XML文档的结构和内容。
它提供了有关文档中
允许的内容和结构的规则。
7.XML Schema:XML Schema是另一种定义XML文档结构和内容的方式,它提供了更强
大和灵活的数据类型和验证机制。
总的来说,XML语言结构使得数据可以被标准化、组织和共享,被广泛应用于各种领域,如网页开发、数据交换、配置文件等。
一、XML语言简介
⼀、XML语⾔简介1、XML发展史1) gml:(1969)Generalized Markup Language通⽤标记语⾔:主要的⽬的是为了达到不同的电脑进⾏通讯的数据规范2) sgml(1985)标准通⽤标记语⾔3) html(1993)HyperText Markup Language :随着万维⽹的出现才出现的html语⾔,但是本⾝是有缺点的,例如其标记不能⾃定义,本⾝缺少⼀些含义;html没有真正的国际化4) xml():1998 Extensiable markup language(可扩展标记语⾔) w3c组织在html语⾔的基础上推出xml语⾔备注 :可扩展标记语⾔主要是给浏览器或者给⼀些语⾔观看的,但并不是纯粹的给浏览器看的,也可以给java、其他语⾔看,xml的编程是好多语⾔都可以使⽤的。
2、XML的常见应⽤1)xml的出现解决了程序间数据传输的问题:(数据传输的通⽤格式),⽤xml格式来传送数据,具有良好的可读性和可维护性2)xml可以做配置⽂件:⽐如tomcat服务器的Server.xml,web.xml;sturts中的sturts-config.xml⽂件;以及hibernate的hibernate.cfg.xml3)xml可以充当⼩型的数据库可使⽤xml⽂件做⼩型数据库,程序中会⽤到⼀些经常要⼈⼯配置的数据。
如果放在数据库中读取不合适(会增加数据库的维护⼯作),则可以考虑⽤xml来做⼩型数据库(⽐如msn中保存⽤户聊天记录就是⽤xml⽂件的),⽽且直接读取⽂件显然要⽐读取数据库快3、XML⽂件的构成:【1】 ⽂档声明<?xml vesion="1.0" enconding="gb2312"? standalone="yes"?>1) xml :表明该⽂件是xml⽂件2) version :表⽰xml的版本号3) enconding :⽂档的字符编码,⽤来告诉浏览器按照什么样的编码⽅式来解析,但是⽂件在存储的时候⽤的是ANSI,(在保存的时候可以进⾏不同的编码格式保存)编码问题:ANSI是American national standard insitute(美国国家标准协会)制定的⼀个编码格式,在不同的国家是不⼀样的,中国ansi对应的就是gb2312;在台湾ansi对应的可能就是gbk big54) standalone :⽂档定义是否独⽴使⽤(即这个xml⽂件是否和别的⽂件由配合使⽤)standalone="no"是默认的【2】 元素1)⼀个xml元素可以包含的内容:字母、数字以及其他⼀些可见字符,但是必须遵守下⾯⼀些规范: A、区分⼤⼩写,例如:<P><p> 是两个不同的标记 B、不能以数字或“_”(下划线)开头 C、不能包含空格 D、名称不能以数字开头,中间不能包含冒号,冒号是留给命名空间使⽤的 E、标签成对、空标签关闭、标签正确嵌套[2]元素/标签 的写法:2)备注: 不含标签体的两种写法:<age></age> 或者</age> 对于xml标签中出现的所有空格和换⾏,xml解析程序都会当做标签内容进⾏处理,例如下⾯两段内容的意义就不⼀样: 写法⼀:<stu>xiaoming</stu> 这种写法是标准的格式要求写法 写法⼆: <stu> xiaoming </stu>由于在xml⽂件中,空格和换⾏都作为原始内容被处理,所以,在编写xml⽂件中,要特别注意【3】属性 属性值⽤双引号括起来,或者⽤单引号括起来。
xml程序设计 第二章
2.1.3 XML的元素
级子元素<b>、<c>,<b>、<c>元素书写正确。
<a> <b></b> <c></c> </a> (a)
<a> <b> <c></c> </b> </a> (b)
<a> <b> <c></b> </c> </a> (c)
<a> <b> </a> </b> (d)
图2.1 上述嵌套中(a)(b)正确,(c)(d)错误。
2.1.1 结构良好性
和标准,他们不希望几年后,XML的使用也象 HTML一样出现任何问题。 所以,把结构良好 性写在了XML1.0规范的重要位置,用以强调 XML文档中的所有词素和语法必须是定义明确 的,结构良好的。
2.1.2 XML声明
在 例 2.1 中 的 第 一 行 出 现 的 <?xml version=”1.0”?>是XML规范规定的所有XML 文件必须具有的一行,称为XML声明,并规定, 这个声明必须写在每一个XML文档的第一行, 以标记这是一个XML文档,否则它就不是一个 XML文档,并依此来区别于其他文档。
2.1.3 XML的元素
一个图书书名的元素,元素值是“数据通信 与 计 算 机 网 络 ” 。 而 <book>……</book> 包 含的就是多个下一级子元素。
标记的一般命名规则要求具有确切含义, 如booklist定义了图书列表,author定义了 作者元素,press定义了出版社元素等。除 此之外,还有如下要求:
xml 教程
xml 教程XML(可扩展标记语言)是一种常用的数据交换格式,被广泛应用于各种领域,特别是在互联网和Web服务中。
它的设计目标是提供一种简单且人类可读的标记语言,用于描述和交换结构化的数据。
本篇教程将为你介绍XML的基本概念、语法规则和应用场景,帮助你快速入门并掌握XML技术。
一、XML的基本概念1. 标记语言:XML是一种标记语言,它使用尖括号(< >)标记开始和结束元素,来定义数据的结构和属性。
2. 可扩展性:XML具有可扩展性,即你可以根据需要定义自己的标签和属性,无需受到固定标准的限制。
3. 结构化数据:XML是一种用于描述和交换结构化数据的语言,数据可以按照自定义的层次结构和关系进行组织。
二、XML的语法规则1. 声明:XML文档以声明(Declaration)开头,使用<?xml?>标记,用于指定XML版本和编码方式。
2. 标签(Element):XML文档由标签组成,标签可以嵌套和包含其他标签,用于表示数据的不同层次和关系。
3. 属性(Attribute):标签可以包含属性,属性包含在标签的开始标记中,用于提供关于标签的额外信息。
4. 内容:标签可以包含文本内容或其他标签,用于描述数据或表示数据间的关系。
5. 注释:XML文档可以包含注释(<!-- -->),用于给文档添加说明和注解。
6. 实体引用:某些字符在XML中具有特殊的意义,使用实体引用(Entity Reference)表示这些字符,如<表示小于号(<), >表示大于号(>)等。
三、XML的应用场景1. 数据交换:XML可以作为一种通用的数据交换格式,用于不同系统之间的数据传输和共享。
2. Web服务:XML用于描述和传输Web服务的请求和响应数据,如SOAP(Simple Object Access Protocol)和REST (Representational State Transfer)。
XML简介
XML简介XML可以用来描述数据,重点是‘数据是什么’。
HTML则是用来显示数据,重点是‘如何显示数据’。
在学习XML之前你应该已经知道的知识在你继续之前你应该具有下面一些基础的知识:▪WWW, HTML 和设计网页的基础知识▪网页脚本语言,比如JavaScript 或者VBScript你最好在学习XML之前就了解上面的内容,因为在XML的学习过程中将用到这些知识。
什么是XML?∙XML是E X tensible M arkup L anguage的缩写∙XML是一种类似于HTML的标记语言∙XML是用来描述数据的∙XML的标记不是在XML中预定义的,你必须定义自己的标记∙XML使用文档类型定义(DTD)或者模式(Schema)来描述数据∙XML使用DTD或者Schema后就是自描述的语言XML和HTML的主要区别是什么XML是用来存放数据的XML不是HTML的替代品,XML和HTML是两种不同用途的语言。
XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。
HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。
HTML是与显示信息相关的, XML则是与描述信息相关的。
XML 什么也不做XML 被设计成什么都不做的。
也许看起来很难理解,但事实上XML确实什么都不做。
XML只是用来组织、存储和发送信息的。
下面的例子是Ordm给Lin的便条,使用的是XML格式:这个便条有信息头,又信息主体,还包括发送人和接收人。
尽管如此,这个XML 文档仍然什么都不做,他只是用XML标记存储信息的文件。
有人已经编写出来发送和接收并且显示这种格式信息的软件。
XML是自由的、可以扩展的XML标记并不是预先规定好的,你必须创造你自己的标记。
在HTML文档中必须使用规则中定义好的标记。
比如:<P><br><a></a>等等。
XML允许你定义自己的标记以及文档结构。
xml的概念和格式
XML(eXtensible Markup Language)是一种用于描述数据的标记语言,它被设计用于传输和存储数据。
XML 通过使用标签(tag)来标识数据的结构和含义,具有自我描述性和可扩展性。
以下是 XML 的概念和基本格式:XML的基本概念:1.标记(Tag):在 XML 中,标记用于标识数据的元素和结构。
标记通常是成对出现的,包括开始标记和结束标记,它们用尖括号括起来。
例如,<element>和</element>。
2.元素(Element):在 XML 中,元素是由标记表示的基本数据单元。
一个元素包括开始标记、内容和结束标记。
例如:3.属性(Attribute):元素可以包含属性,属性提供有关元素的额外信息。
属性出现在开始标记中,并由空格分隔。
例如:4.文档(Document):整个 XML 数据被称为文档,一个 XML 文档通常包括一个根元素,根元素包含其他元素。
5.嵌套(Nesting):元素可以嵌套在其他元素中,形成层次结构。
例如:6.注释(Comment):注释在 XML 中用<!-- 注释内容 -->的形式表示。
XML的基本格式:一个简单的 XML 文档通常包含一个根元素,根元素包含其他元素。
以下是一个基本的 XML 文档示例:在这个例子中:▪<?xml version="1.0" encoding="UTF-8"?>声明了 XML 文档的版本和字符编码。
▪<bookstore>是根元素,包含两个<book>元素。
▪<book>元素包含<title>、<author>和<price>元素。
▪属性用于提供有关书籍类别和语言的额外信息。
XML 提供了一种通用的、可扩展的数据表示方法,常被用于配置文件、数据交换、Web服务等领域。
ML技术实验ML语法图文稿
M L技术实验M L语法 Company number【1089WT-1898YT-1W8CB-9UUT-92108】实验1—XML的语法实验日期:2015.3.9实验室:204信息管理实验室学号:姓名:何瑞班级:计科5班实验目的1.安装并学习如何使用XMLSPY集成开发环境完成XML相关的开发工作。
2.熟悉和掌握XML规范的基本内容,包括XML声明、注释、处理指令、元素、属性、CDATA段、预定义实体、命名空间的使用,以及如何进行XML文档良构和有效性验证;能够灵活地使用XML层次数据来表示各种信息。
实验环境1.硬件2.软件:XMLSpy2011实验原理一、XML文档结构一个XML文档由声明、元素及其属性、注释、字符引用和处理指令组成,所有这些都在文档中用显式标记指明。
文档的数据部分开始于根(root)元素。
二、规范的XML文档规范的XML文档包含两层含义:一个是指格式良好的XML文档,另一个是指有效的XML文档。
所谓格式良好的XML文档即符合XML1.0规范的文档;而有效的XML文档是指文档中的数据应受到本文档中相应数据规则的限制。
格式良好的XML文档应符合以下要求:▪有且只有一个根元素▪元素必须合理结束:开始标记必须与结束标记相对应▪标记是大小写敏感的▪标记必须正确嵌套图XML文档结▪元素属性必须有值,属性值必须使用引号引起来实验任务<row><aID>1</aID><spyREF>A001</spyREF><alias>SpyGrrrl</alias></row><row><aID>2</aID><spyREF>A001</spyREF><alias>LaFemmeNikki</alias> </row><row><aID>3</aID><spyREF>A006</spyREF><alias>LL</alias></row><row><aID>4</aID><spyREF>A006</spyREF><alias>Fred</alias></row><row><aID>5</aID><spyREF>A003</spyREF><alias>BigEars</alias></row><row><aID>6</aID><spyREF>A004</spyREF><alias>InspectorGadget</alias> </row><row><aID>7</aID><spyREF>A004</spyREF><alias>DonAdams</alias></row></aliasTable><missionTable><row><aID>M101</aID><spyREF>A001</spyREF><date>2005/4/15</date><description>Crackthecode</description><status>MissionAccomplished</status></row><row><aID>M102</aID><spyREF>A001</spyREF><date>2006/2/15</date><description>Getthesource</description><status>MissionAccomplished</status></row><row><aID>M103</aID><spyREF>A001</spyREF><date>2006/5/4</date><description>Hittherapid</description><status>InProgress</status></row><row><aID>M104</aID><spyREF>A006</spyREF><date>2006/6/15</date><description>Shoottherapid</description><status>InProgress</status></row><row><aID>M105</aID><spyREF>A003</spyREF><date>2005/11/4</date><description>Getthebigcheese</description><status>InProgress</status></row><row><aID>M106</aID><spyREF>A003</spyREF><date>2006/4/4</date><description>Mapthearea</description><status>InProgress</status></row><row><aID>M107</aID><spyREF>A099</spyREF><date>2006/5/2</date><description>GetSmart</description><status>InProgress</status></row><row><aID>M108</aID><spyREF>A004</spyREF><date>1967/2/15</date><description>ProtectChief</description><status>InProgress</status></row><row><aID>M109</aID><spyREF>A004</spyREF><date>2006/6/15</date><description>Getsamestyle</description><status>MissionAccomplished</status> </row></missionTable><spyTable><row><spyID>A001</spyID><firstName>Nikki</firstName><lastName>Devgood</lastName></row><row><spyID>A006</spyID><firstName>Link</firstName><lastName>Lister</lastName></row><row><spyID>A003</spyID><firstName>Danger</firstName><lastName>Mause</lastName></row><row><spyID>A099</spyID><firstName>Barbara</firstName><lastName>Feldon</lastName></row><row>。
XML简介 ppt课件
26
使用XML企业应用开发
总结 2-2
元素由开始标记、结束标记以及元素内容组成。 XML预定义了5种实体引用,用来代替在文档中出
现的特殊字符 CDATA中的内容不解析,原样显示 编写XML文档时从声明开始 所有非空元素都必须有闭合标记 空元素使用/>来闭合 标记区分大小写
27
使用XML企业应用开发
XML文档结构:
由一个或多个元素 组成层次数,只能
一个XML文档大体可以分为三个区域:包含唯一根元素
序言区、主体区、尾声区(可选)
序言区
主体区
尾声区可选:包含注释、处理指令等
12
使用XML企业应用开发
示例
<?xml version = "1.0“ encoding=“GB2312”?> XML 声明- 定义 XML 版本
16
使用XML企业应用开发
引用
XML为显示非ASCII码字符集中的字符提供了两 种方法:实体引用和字符引用。
①在XML中,所有的实体引用都是以&开头,以; 结尾。
②XML中5个预定义的实体引用,分别用来代替 文本中出现的& < > 双引号 单引号
实体引用
对应字符
&
&
< >
< >
<ZIP> 20056 </ZIP>
<Email> </Email>
</CONTACT>
<CONTACT>
...
</CONTACT>
</Details>
第二章 XML命名空间和Schema约束
用来指定允许出现的最少次数
在 XML 文档内部引用模式
XML 模 式 语 言 是 由 名 称 空 间 http://www. /2001/XMLSchema 来 识 别 org/2001/XMLSchema 的 文档可以用 schemaLocation 或 noNamespaceSchemaLocation 属性来引用一个 模式 包含模式定义的方法如下: <RootElement xmlns:xsi="http://www. xmlns:xsi="/2001/XMLS org/2001/XMLS chemachema-instance" xsi: xsi:noNamespaceSchemaLocation="externalx sdfile">
使用前缀解决名称冲突
<?xml version="1 <?xml version="1.0" encoding="UTF-8"?> encoding="UTF<AUTHOR> <AU:TITLE>Mr.</AU: <AU:TITLE>Mr.</AU:TITLE> <AU:FIRST>Sidney</AU: <AU:FIRST>Sidney</AU:FIRST> <AU:SECOND>Sheldon</AU: <AU:SECOND>Sheldon</AU:SECOND> <BO: <BO:BOOK> <BO: <BO:TITLE>Sky is Falling</BO:TITLE> Falling</BO: <BO:PRICE>$ <BO:PRICE>$5.6</BO:PRICE> </BO: </BO: </BO:BOOK> <BO: <BO:BOOK> <BO: <BO:TITLE>Rage of Angels</BO:TITLE> Angels</BO: <BO:PRICE>$ <BO:PRICE>$4.3</BO:PRICE> </BO: </BO: </BO:BOOK> </AUTHOR>
本章中将学习到如下内容
entry元素有三个子元素: name,tel,comments。
一、XML基础语法 基础语法
1、XML标记初步 、 标记初步 6) 元素嵌套
<!-- Not legal XML markup -- > <p> <b>I <i>really love</b> XML. </i> </p> (I) <!-- legal XML markup -- > <p> <b>I <i>really love</i></b> <i> XML. </i> </p> (II)
<?xml version=“1.0”?> <!-- An invalid document -- > <greeting> Hello,World! </greeting> <greeting> Hola, el Mundo! </greeting>
此文档不包含单一根元素, 不管该文档可能包含什么信息, XML解析器会拒绝它。
一、XML基础语法 基础语法
2、XML文档中的其它项 、 文档中的其它项 8) 注释 注释以<!-- 开始,以-- >结束。 注释可以出现在文档的任何位置,包括根元素的前面或后面。
注意: 注意: 注释不能在结束部分以外包含双连字符( -- ), 除此之外,注释可以包含任何内容。 注释内容将被解析器忽略,即注释内的标记也会被忽略。
一、XML基础语法 基础语法
2、XML文档中的其它项 、 文档中的其它项 10) Unicode Unicode是由统一编码联盟(Unicode Consortium)发布的,它是对 ASCII字符集进行的一项扩展。 国际标准化组织ISO也发布了同一个标准,ISO/IEC 10646 Unicode支持所有的语言(地球上存在的)以及数学和其他符号。 支持英语、西欧语言、西里尔语、日语、汉语等等。 ASCII字符集: 8 byte ---- 一个字符; Unicode字符集:16 byte ---- 一个字符;
XML技术在B2B电子商务中的应用研究
XML技术在B2B电子商务中的应用研究第一章:引言B2B电子商务是近年来快速发展的领域之一,XML技术被广泛应用于该领域中。
本文将着重对XML技术在B2B电子商务中的应用进行研究,探究XML技术的优势和局限性。
第二章:XML技术概述XML(可扩展标记语言),是一种用于描述和传输数据的标准规范。
它利用标签来描述和组织数据,不仅可以将数据传输到不同平台中,还可以进行数据分离、简化和标准化。
XML可以定义自己的标签,从而实现面向对象的数据交互。
第三章:XML技术在B2B电子商务中的应用1. 数据交换标准化XML技术在B2B电子商务中最主要的应用就是进行数据交换标准化,它可以帮助不同企业之间进行数据交换。
XML文件的格式可以在所有计算机系统之间实现共用,从而使得企业之间的数据交换变得更加容易和快捷。
同时,XML技术可以对数据进行严格的验证和规范,从而最大限度地避免数据的错误和重复。
2. 电子商务的业务流程管理XML技术还可以在B2B电子商务中实现业务流程管理。
通过建立一个业务流程模型,企业可以将其业务过程标准化,实现各个部门之间的协同。
XML技术可以实现对不同的企业数据进行分类,并对不同数据流的实现进行不同的操作,从而实现自动化业务流程管理。
3. 网络服务管理XML技术可以帮助企业进行网络服务管理,从而实现多个不同平台之间的协同。
企业可以使用XML技术来描述它的网络服务,并通过网络连接其他企业的XML描述,从而实现整个网络的服务链。
这样,不同的企业就可以通过网络资源共享,实现资源的最大化利用。
第四章:XML技术的优势和局限性1. 优势XML技术具有良好的可读性和可扩展性,使得它能够在不同平台之间进行数据交换。
它还可以通过XSLT对XML文档进行转换和处理,从而实现XML文档的多种显示方式。
XML技术在数据管理和处理中具有灵活性和可靠性,可以实现多层次的数据处理和管理,提高数据的利用价值。
2. 局限性与JSON技术相比,XML技术的处理速度较慢,因为XML技术必须首先将其文档解析为文本格式,然后再转换为数据格式。
xml原理
xml原理
XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,它具有以下原理。
1. 标签:XML使用尖括号<>包围标签,标签用于定义数据的结构和层次关系。
标签分为开始标签和结束标签,开始标签以<开头,结束标签以/开头,两者之间的内容是标签的值。
2. 属性:除了标签内的值之外,XML还允许给标签添加属性来描述更多的信息。
属性以标签名后的空格开始,后跟属性名和属性值。
3. 树状结构:XML数据以树状结构进行组织,通过嵌套的标签和属性来表示数据的层次关系。
一个元素可以包含其他元素作为子元素,形成父子元素的关系,这样就可以构建复杂的数据结构。
4. 命名空间:XML支持在一个文档中使用多个标记语言或元素集合,而不会发生命名冲突。
通过使用命名空间,可以将元素和属性分组以确保唯一性。
5. 规范化:XML要求数据符合规范化的格式,即标签必须正确嵌套,开始标签必须有对应的结束标签。
同时,XML还支持CDATA块来包含非转义的文本,以及实体引用来表示一些特殊字符。
6. 扩展性:XML的设计初衷是为了扩展性,它不直接规定数
据的具体含义,而是通过用户自定义标签和属性来定义数据的语义。
7. 可读性:相比于其他数据存储格式(如二进制格式),XML使用普通文本来表示数据,这使得XML具有较好的可读性,并且可以通过简单的文本编辑器进行编辑。
总的来说,XML通过标签、属性和树状结构来组织数据,支持命名空间和规范化的格式,同时具有扩展性和可读性。
这些原理使得XML成为一种常用的数据交换和存储格式。
XML 入门
XML 语法
<?xml version="1.0" encoding="ISO-8859-1"?> encoding="ISO-8859<note> <to>Lin</to> <from>Ordm</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </not 文档必须有一个根元素 所有的
XML文档中的第一个元素就是根元素
XML中的注释 中的注释
<!-- 这是一个注释 -->
XML 语法(续)
XML元素可以拥有属性。 元素可以拥有属性。 元素可以拥有属性
属性值必须使用引号,单引号、双引号都可以 使用数据既可以存储在子元素中也可以存储在属性中
XML解析器
有不同的方法来划分解析器种类:
验证或非验证解析器
验证解析器(Validating parser)在解析 XML 文档同时进行验证 非验证解析器(Non-validating parser) 忽略所有的验证错误
支持 Document Object Model (DOM) 的解析器 支持 Simple API for XML (SAX) 的解析器
XML学习总结(二)——XML入门
XML学习总结(⼆)——XML⼊门⼀、XML语法学习 学习XML语法的⽬的就是编写XML ⼀个XML⽂件分为如下⼏部分内容:⽂档声明元素属性注释CDATA区、特殊字符处理指令(processing instruction)1.1、xml语法——⽂档声明 在编写XML⽂档时,需要先使⽤⽂档声明,声明XML⽂档的类型。
最简单的声明语法:<?xml version="1.0" ?> 例如:1<?xml version="1.0"?>2<softCompany>3<company>MicroSoft</company>4<company>google</company>5<company>Apple</company>6</softCompany> 浏览器解析结果如下: ⽤encoding属性说明⽂档的字符编码:<?xml version="1.0" encoding="GB2312" ?> 当XML⽂件中有中⽂时,必须使⽤encoding属性指明⽂档的字符编码,例如:encoding="GB2312"或者encoding="utf-8",并且在保存⽂件时,也要以相应的⽂件编码来保存,否则在使⽤浏览器解析XML⽂件时,就会出现解析错误的情况。
例如:1<?xml version="1.0"?>2<softCompany>3<company>MicroSoft</company>4<company>google</company>5<company>Apple</company>6<company>百度</company>7</softCompany> 这个XML⽂件中没有使⽤encoding属性来指明⽂档的字符编码,但⽂档⾥⾯有“百度”这样的中⽂字符,在使⽤IE浏览器解析该XML⽂件时,IE就不知道该使⽤什么编码去解析该⽂件,就⽆法解析了,出现的错误如下图(图-1)所⽰: 图-1 要想正确解析该XML⽂档,就可以使⽤encoding属性指明该⽂档的字符编码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XML 没什么特别的。它仅仅是纯文本而已。有能力 处理纯文本的软件都可以处理 XML。 不过,能够读懂 XML 的应用程序可以有针对性地 处理 XML 的标签。标签的功能性意义依赖于应用 程序的特性。
2.1 XML 简介
6 通过 XML 您可以发明自己的标签
上例中的标签没有在任何 XML 标准中定义过(比 如 <to> 和 <from>)。这些标签是由文档的创作者 发明的。 这是因为 XML 没有预定义的标签。 在 HTML 中使用的标签(以及 HTML 的结构)是 预定义的。HTML 文档只使用在 HTML 标准中定 义过的标签(比如 <p> 、<h1> 等等)。 XML 允许创作者定义自己的标签和文档结构。
2.5 XML应用
1 XML的集成 电子商务 数据库应用 网络出版 特定文档的组织 系统配置文件
2.5 XML应用
2 XML延伸语言
XHTML(可扩展超文本标记语言) VML(矢量标记语言) PGML(精确图形标记语言) SVG(可缩放矢量图形语言) WML(无线标记语言) 基于XML的其他语言
Web信息技术
第二章 XML基础
主要内容
XML 简介 XML 用途 XML 语法 XML 特性 XML 应用 XML 相关技术
2.1 XML 简介
1 什么是 XML?
XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准
2.3 XML 语法
4 XML 文档必须有根元素
XML 文档必须有一个元素是所有其他元素的父元素 。该元素称为根元素。 <root> <child> <subchild> ..... </subchild> </child> </root>
2.3 XML 语法
5 XML 的属性值须加引号
与 HTML 类似,XML 也可拥有属性(名称/值的 对)。 在 XML 中,XML 的属性值须加引号。请研究下 面的两个 XML 文档。第一个是错误的,第二个是 正确的:
2.3 XML 语法
3 XML 必须正确地嵌套
在 HTML 中,常会看到没有正确嵌套的元素: <b><i>This text is bold and italic</b></i> 在 XML 中,所有元素都必须彼此正确地嵌套: <b><i>This text is bold and italic</i></b> 在上例中,正确嵌套的意思是:由于 <i> 元素是在 <b> 元素内打开的,那么它必须在 <b> 元素内关闭。
2.1 XML 简介
2 XML 与 HTML 的主要差异
XML 不是 HTML 的替代。 XML 和 HTML 为不同的目的而设计: XML 被设计为传输和存储数据,其焦点是数据的内 容。 HTML 被设计用来显示数据,其焦点是数据的外观 。 HTML 旨在显示信息,而 XML 旨在传输信息。
2.2 XML 用途
1 XML 把数据从 HTML 分离
如果你需要在 HTML 文档中显示动态数据,那么每 当数据改变时将花费大量的时间来编辑 HTML。 通过 XML,数据能够存储在独立的 XML 文件中。 这样你就可以专注于使用 HTML 进行布局和显示, 并确保修改底层数据不再需要对 HTML 进行任何的 改变。 通过使用几行 JavaScript,你就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。
通过 XML,可以在不兼容的系统之间轻松地交换数 据。 对开发人员来说,其中一项最费时的挑战一直是在 因特网上的不兼容系统之间交换数据。 由于可以通过各种不兼容的应用程序来读取数据, 以 XML 交换数据降低了这种复杂性。
2.2 XML 用途
4 XML 简化平台的变更
升级到新的系统(硬件或软件平台),总是非常费 时的。必须转换大量的数据,不兼容的数据经常会 丢失。 XML 数据以文本格式存储。这使得 XML 在不损失 数据的情况下,更容易扩展或升级到新的操作系统 、新应用程序或新的浏览器。
2.1 XML 简介
8 XML 无所不在
当我们看到 XML 标准突飞猛进的开发进度,以及 大批的软件开发商采用这个标准的日新月异的速度 时,真的是不禁感叹这真是令人叹为观止。 目前,XML 在 Web 中起到的作用不会亚于一直作 为 Web 基石的 HTML。 XML 无所不在。XML 是各种应用程序之间进行数 据传输的最常用的工具,并且在信息存储和描述领 域变得越来越流行。
2.4 XML特性
3 XML的不足
XML的数据是以树状结构存储的,数据的插入与修改 比较困难。 XML文档的内容完全以文本形式表现与存储,与采用 二进制形式相比其存储量和传输量都将大大增加。 XML文档作为数据集合使用时,相当于一个数据库, 却不具备数据库管理系统那样完备的功能。 XML不能替代HTML。 XML是一种元标记语言,任何组织、任何人都可以利 用它来定义新的标记和标准,从而将产生一定的混乱 与冲突。
2.5 XML应用
3 XML的其他应用
电子商务框架语言ebXML 开放电子书籍规范OEB 基于XML的其他应用
2.6 XML相关技术
文档类型定义DTD 层叠样式表CSS 可扩展样式表语言XSL 数据源对象DSO 文档对象模型DOM XML Schema Xlink与Xpointer
2.1 XML 简介
7 XML 不是对 HTML 的替代
XML 是对 HTML 的补充。
XML 不会替代 HTML,理解这一点很重要。在大多 数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。 XML 是独立于软件和硬件的信息传输工具。
对 XML 最好的描述是:
2.1 XML 简介
4 没有任何行为的 XML
上面的这条便签具有自我描述性。它拥有标题以及 留言,同时包含了发送者和接受者的信息。 但是,这个 XML 文档仍然没有做任何事情。它仅 仅是包装在 XML 标签中的纯粹的信息。我们需要 编写软件或者程序,才能传送、接收和显示出这个 文档。
2.1 XML 简介
2.3 XML 语法
2 XML 标签对大小写敏感
XML 元素使用 XML 标签进行定义。 XML 标签对大小写敏感。在 XML 中,标签 <Letter> 与标签 <letter> 是不同的。 必须使用相同的大小写来编写打开标签和关闭标签: <Message>这是错误的。</message> <message>这是正确的。</message>
2.2 XML 用途
5 XML 使您的数据更有用
由于 XML 独立于硬件、软件以及应用程序,XML 使您的数据更可用,也更有用。 不同的应用程序都能够访问您的数据,不仅仅在 HTML 页中,也可以从 XML 数据源中进行访问。 通过 XML,您的数据可供各种阅读设备使用(手持 的计算机、语音设备、新闻阅读器等),还可以供 盲人或其他残障人士使用。
2.1 XML 简介
3 没有任何行为的 XML
XML 是不作为的。也许这有点难以理解,但是 XML 不会做任何事情。XML 被设计用来结构化、 存储以及传输信息。 下面是 John 写给 George 的便签,存储为 XML:
<note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
良好的可读性 方便的可扩展性 数据内容与其形式的分离 便于信息的检索 可以轻松地跨平台应用 支持不同文字不同语种间的信息交互 为科学实践与交流提供捷径 大大改善网页的超链接性能 便于信息的长期保存 适合面向对象的程序开发
2.4 XML特性
2 XML与Java
Java 技术产生于20世纪90年代,是最重要的信息技 术发展之一。Java 不仅是一种高性能的网络编程语 言,而且已成为网络世界中一种跨系统的操作平台。 XML和Java技术的合作,许多任务可以在客户端完 成,从而使得网络更加畅通快捷。可以说,XML使 Java真正有了用武之地。
2.3 XML 语法
1 所有 XML 元素都须有关闭标签
在 HTML,经常会看到没有关闭标签的元素: <p>This is a paragraph <p>This is another paragraph 在 XML 中,省略关闭标签是非法的。所有元素都 必须有关闭标签: <p>This is a paragraph</p> <p>This is another paragraph</p>