XML知识点.docx
- 文档编号:23405172
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:19
- 大小:399.99KB
XML知识点.docx
《XML知识点.docx》由会员分享,可在线阅读,更多相关《XML知识点.docx(19页珍藏版)》请在冰豆网上搜索。
XML知识点
1.XML概述
知识点:
XML标记语言的优势、用途;XML与HTML联系与区别;XML应用及其相关技术(了解)
XML(eXtensibleMarkupLanguage可扩展标记语言)是一种描述数据和数据结构的语言,可以保存在任何存储文本的文档中,具有自描述性、内容和显示相分离、可扩展、独立于平台的特点。
XML和HTML的联系与区别:
HTML文档主要包含显示标记,主要为了浏览。
HTML包含预定义的标记集。
XML可定义自己的标记集,可扩展性强。
XML标记表示了数据的逻辑结构,同时进行严格的语法和语义检查。
XML文档将数据与显示格式分离。
XML应用及其相关技术:
DTD、XMLSchema、CSS、DataIsland、XSLT、DOM、SAX、XPath、XLink、XPointer
应用:
电子商务、代替数据库储存、数据交换、软件配置文档记录、中间转换、用xsl解析比较方便,还有就是做配置也很方便、Web服务、内容管理、Web集成
2.XML语法知识点:
XML文档结构;XML标记;XML属性;特殊字符及CDATA区段;实体;实体的引用;名称空间
XML文档结构:
序言(声明:
XML声明、DTD声明、名称空间声明、调用转换文本语句行等)+主体
结构良好的XML文档:
文档包含一个或多个元素
它只有一个包含所有其他元素的元素
元素相互间的嵌套要正确
用在开始和结束标识符中的元素名要精确匹配
属性名不能在同一元素开始标识符中出现多次
属性值必须括在单引号和双引号中
元素内容、属性值中引用的特殊字符,用实体引用替换
XML标记:
命名规则。
(XML只能有一个称为“根”的元素,其他标记必须卸载该标记内部)
实体
预定义实体:
&--&
‘---'
>-->
<--<
“--"
一般实体:
ENTITY实体名实体定义>引用:
&实体名;
参数实体:
ENTITY%实体名实体定义>例如
ENTITY%dataType“(#PCDATA)”>
引用:
ELEMENTname%dataType;>
=
ELEMENTname#PCDATA>
一般实体和参数实体的区别:
一般实体是在文档内容中使用的实体,而参数实体则是在DTD中使用的已分析实体。
CDATA区段:
[CDATA[该区段内文本会被解析器忽略
]]>
名称空间:
名称空间是XML名称的集合。
可以用于把元素及其属性限定在特定的名称空间中,以消除元素名称的不确定性。
【为了解决不同领域的XML词汇的同名冲突和区分识别。
】
名称空间的声明:
s=”...”xmlns: t=”....”> shirt> shirt> shirt> shirt> 3.DTD技术知识点: DTD基本概念;DTD对元素的声明;DTD对属性的声明;实体的声明与引用;XML对DTD的引用;XML文档有效性验证; DTD是文档类型定义(DocumentTypeDefinition)的缩写。 声明内部DTD: DOCTYPE根元素名[ ELEMENT......> ]> 声明外部DTD: DOCTYPE根元素名SYSTEM“DTD-URL”> 外部DTD: ELEMENT....>(不需要再写DOCTYPE) 元素声明: ELEMENT元素名EMPTY|ANY|#PCDATA|Mixed|Children> Chidren: 所有子元素必须出现一次,而且要依次出现: ELEMENT元素A(name,name2|name3)> 不含其他子元素 ELEMENTname#PCDATA> ELEMENTname2#PCDATA> 元素内容类型。 ? : 出现0或1次 *: 出现任意次数 +: 至少一次 ELEMENTA(B*,C? D+)> 属性声明: ATTLIST元素名属性名属性类型默认声明> ATTLIST元素名 classCDATA“action” yearCDATA#REQUIRED man(male|famale)“male” > ENTITY: 二进制数据CDATA: 字符串IDREF: 引用其他元素的ID类型属性值 4.XMLSchema技术(xsd)知识点: XMLSchema与DTD的异同点;XMLSchema的使用 ;W3CXMLSchema数据类型;XMLSchema元素声明;XMLSchema属性声明;XMLSchema命名空间 XMLSchema与DTD的异同点: 都是用于定义XML文档的结构和内容的文档 DTD是用一种与XML不同个的语法编写的,而XML模式使用的是一种类XML的语言。 Schema支持丰富的数据类型 Schema支持命名空间机制 XMLSchema命名空间: schemaxmlns: xsd=”http: //www.w3.org/2001/XMLSchema”>... schema> 【元素类型名和元素名】 W3CXMLSchema数据类型: time/string/decimal/int type=”string”/> --如果存在命名空间xsd--> 自定义简单类型 elementname=”zip”type=”zip_type”/> simpleTylename=”zip_type”> restrictionbase=”xsd: sting”> pattternvalue=”\d{5}(-\d{4})? ”> --5个数字-4个数字.如12345-1234这系列--> restriction> simpleTyle> 枚举: elementname=”man”> simpleTyle> restrictionbase=”xsd: sting”> enumerationvalue=”男”> enumerationvalue=”女”> restriction> simpleTyle> element> 复杂类型: 【可包含空元素的属性】 complexType> sequence> elementname=”AB”minOccurs=”0”maxOccurs=”1”/> elementname=”B”/> sequence> attributename=”isbn”type=”xsd: string”/> complexType> Sequence: 指定顺序出现在元素中,任意次数 All: 任意顺序,出现0-1次 Choice: 选择一个出现 Group: 无视 XMLSchema元素声明; 简单元素: elementname=”color”type=”xsd: string”default=”red”/>//默认值 elementname=”color”type=”xsd: string”fixed=”red”/>//固定值 XMLSchema属性声明; 省略命名空间: XMLSchema命名空间 <根元素xmlns=”.xsd”>根元素> xsd=”xxx”【未定义目标命名空间targetNamespace】 Xsd: noNamespaceSchemaLocation=”XXX.xsd”> rootxmlns: xsi=”xxx”【已经定义目标命名空间targetNamespace】 SchemaLocation=”xxx.xsd”> 5.XML与样式表 知识点: CSS基本样式及使用;使用CSS显示XML文档 id: # class: “.” 边框border: toprightbottomleftstyle(dotted|solid|double)colorwidthtop-width 元素与框之间padding 边框与周围元素边距margin Background: colorimage[none|url(xxx.jpg)]repeatattachmentposition 外部样式表 内部样式表 内联样式 6.XSL转换 知识点: XSL模板;节点的访问;节点的输出;节点的选择性输出;在XSL中使用CSS;XPath的语法 XSL意义: 将文档内容和表示形式分离 在不同应用之间传输数据 XSLT和CSS的比较: CSS不能重新排序文档中的元素 CSS不能判断和控制哪个元素被显示,哪个不被显示; CSS不能对文档的内容进行操作 【非display: none;而是判断、控制、if/else/each/for】 XSLT应用: 以查看为目的添加元素 从现在内容创建新的内容 从XML文档中提取信息 在不同的XML字典或模型之间进行转换 将XML文档转换为HTML XML中使用XSL: xml-stylesheettype=”text/xsl”href=”xx.xsl”? > 模板: 则从大到小匹配模板 XSL中声明 stylesheet>样式表声明 例子: xmlversion="1.0"encoding="ISO-8859-1"? > stylesheetversion="1.0"xmlns: xsl="http: //www.w3.org/1999/XSL/Transform"> templatematch="/"> apply-templates/> template> templatematch="cd"> apply-templatesselect="title"/> apply-templatesselect="artist"/> template> templatematch="title"> Title: #ff0000"> --内嵌CSS使用--> value-ofselect="."/> template> templatematch="artist"> Artist: #00ff00"> value-ofselect="."/> template> stylesheet> 理解访问一个模板中多个节点和访问一个一个节点运用多次模板。 template> for-eachselect="XXX"> template> 选择判断: for-each> for-each> iftest=”布尔表达式”> if> choose> whentest=”xxxx”> when> whentest=”xxxx”> when> otherwise> otherwise> choose> 节点的选择性输出: for-eachselect="//书名[@价格='99元'$and$@出版社='IT出版社']">//$not$||$or$ value-ofselect=”.”>//当前节点“.”的值 @: 选取属性。 *: 所有。 //title[@*]选取所有带有属性的title元素。 //litle[@lang=’eng’]选取所有title元素,且这些元素拥有为eng的lang属性。 7.Xlink和XPointer 知识点: 简单链接;扩展链接;链接弧的概念;XPointer的概念;Xlink与XPointer的结合 简单链接: DTD定义简单链接 ELEMENTmylink(#PCDATA)> ATTLISTmylink xmlns: xlinkCDATA#FIXED“http: //www.org/1998/xlink” xlink: typeCDATA#FIXED“simple” xlink: hrefCDATA#REQUIRED xlink: show(embed|replace|new)“embed”> 扩展链接: arc元素: 链接弧用于表示扩展XML链接中资源之间的链接关系,它是扩展XML链接的子元素,xlink: type属性值为arc,成为链接弧元素。 type=arcxlink: from=”A”xlink: to=”B”xlink: title=”Nextreview”/> XPath: XPointer: 用于指向XML文档的内部结构 xpointer(expression) xpointer(id(‘XXXID’))//////或者xpointer(Xpath) xmlversion="1.0"encoding="gb2312"? > xlink="http: //www.w3.org/1999/xlink" xlink: type="simple" xlink: href="http: //3.1.xml#xpointer(//成绩记录[学号=’20040112’])" xlink: show="new"> 8.DOM接口技术 知识点: DOM的基本概念;DOM的工作原理;DOM树的结构;DOM对象;DOM的使用;DOM对文档的操作 DOM是什么? DocumentObjectModel: 文档对象模型 DOM是一个与平台无关、与语言无关的应用程序接口 作用: DOM提供了一个统一的XML数据接口; 应用DOM,可以动态创建XML文档、遍历文档,添加、修改、删除文档内容; DOM接口规范提供了一种编写XML代码的方法。 结构(工作原理) DOM把文档表示为节点Node对象树 节点对象表示文档中XML元素,也代表文档内其他所有内容; 根元素,处理指令,注释文档类型,实体,实体引用,命名空间等多种对象模型 DOM树展示了XML文件体统的信息以及他们之间的关系。 DOM树的结构 DOM接口: Document: DOM树根节点 Node[一个节点] NodeList[节点集合]getNodeByName方法返回值 NamedNodeMap: 通过名字来访问节点的集合[名称集合] DOM基本对象: Document、Element、Attribute、Text、集合索引 documentElement返回文档根节点 createElement(name)创建元素节点 createTextNode(text) getElementsByTagName(name)返回所有具有指定名称的元素节点 chileNodes返回子节点的节点列表 firstChild返回节点的首个子节点 lastChild parentNode nodeName nodeType: ELEMENT_NODEATTRIBUTE_NODETEXTENTITY..._NODE Document对象的创建(java实现) 如下: 对Dom_3.xml进行加载和遍历。 Elementroot=document.getDocumentElement(); StringrootName=root.getNodeName(); System.out.println("XML文件根结点的名称为: "+rootName); NodeListnodelist=root.getChildNodes(); intsize=nodelist.getLength(); for(inti=0;i Nodenode=nodelist.item(i); if(node.getNodeType()==Node.ELEMENT_NODE){//如果为元素节点 ElementelementNode=(Element)node; Stringname=elementNode.getNodeName(); Stringid=elementNode.getAttribute("数量"); Stringcontent=elementNode.getTextContent(); System.out.println(name+"\n"+id+"\n"+content+"\n"); } } } catch(Exceptione){ System.out.println(e); } } } 9.SAX接口技术 知识点: SAX接口的基本概念;SAX接口的工作机制;SAX接口与DOM接口的异同点; SAX接口: SimpleAPIforXML SAX是解析XML程序除了DOM接口另外一个接口,该接口是以流的方式读取XML文件到内存中,以实践模型的方式解析处理XML文件,获取XML文件里面的信息。 与DOM接口的异同点 SAX优点: 流方式DOM: 全部加载进内存,形成树 不受内存空间的限制随机存储 简单 快速 SAX缺点: 不能对文档做随机存取不适合大文件读取 SAX是只读的 当前的浏览器不支持SAX SAX工作机制: SAX是事件驱动的,并不需要一次性读取整个文档在内存中操作,而文档的读入过程也就是SAX的解析过程。 所谓事件驱动,是指一种基于回调(callback)机制的程序运行方法。 10.数据岛 知识点: 数据岛的基本概念;在web页中创建和使用数据岛;结合javascript操纵数据岛中的数据; 与HTML文档绑定的XML数据源对象简称为DSO(DataSourceObject),通常也称为嵌入HTML文档中的XML数据岛。 使用DSO,借助HTML网页来显示XML文档内容,既能保持XML文档数据与其显示格式分离的特点,又具备HTML网页的丰富显示格式。 使用: 首先将HTML元素中的DATASRC属性设置为相应的ID,就可以把HTML元素和数据岛联系在一起。 然后再通过设置DATAFLD属性值,来确定所提取的XML元素。 11.各次的上机作业。MyCDCollection
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML 知识点