`
chen_gengjia
  • 浏览: 108480 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

XML

阅读更多

缩写

说明

Namespaces

防止不同软件使用名字因为重复而发生冲突

XPath

定位文档中的数据

XPointer

说明在文档中的位置

Xquery

在文档集中查找数据

XSLT

对数据进行格式转换

XSL

以页面格式表示数据

Xlink

连接来自不同文档的数据

N/A

说明比DTD 更广泛的格式定义

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这一篇简单介绍一下XML的特性标准。

首先是命名空间,在实际利用XML的过程中,存在一种现象,就是不同的程序使用同一张XML文档,但是不同程序可能用了同样的名字去表示其实是不一样的数据,为了解决这个问题,引入了命名空间的概念,将XML的元素或属性跟唯一的命名空间联系起来,以区分不同数据。比如,一张订单可以用XML表示,部分数据如下:

 

     <Reconciliation>

          <Customer>

               <Name>John</Name>

               <Address>Accounts Payable-Bar Corporation</Address>

               <Order>

                   <Status>.....</Status>

               </Order>

          </Customer>

      </Reconciliation>

 

Status 表示订单的状态,如果是财务程序处理这张 XML ,那么 Status 的值为‘invoiced’(已开票)或‘uninvoiced’;如果是交货程序处理,是“shipped”(已交货)“unshipped”,即同样一个元素,对不同部门可能意义不同,这时就可以用命名空间;

 

       <Reconciliation

            xmlns:acct=http://www.foocompany.com/names/acct-rev10

             xmlns:ful=http://www.foocompany.com/names/ful-rev10>

          <Customer>

               <Name>John</Name>

               <Address>Accounts Payable-Bar Corporation</Address>

               <Order>

                   <acct:Status>.....</acct:Status>

                   <ful:Status>.....</ful:Status>

               </Order>

          </Customer>

      </Reconciliation>

 

当越多的人使用同一个XML时,命名空间就越重要,对开发商而言,所有产品可以定义为一张XML,但不同产品应该有不同的命名空间;企业内部不同部门也应该对应不同的命名空间;

 

      Xpath XPointer XQuery 都有定位数据的功能,XPath 是基础,XPath 的语法提供了利用类似文件目录那样的层级结构表示树状结构(因为两者是对应的),XPointer 是比 XPath 精确的方式,而 XQuery 是从一个文档集而不是一篇文档中搜集符合条件的节点。这方面详细的内容同样可以参考W3CSchool.

 

      http://www.w3school.com.cn/

 

     XSL XSLT 从名字上就可以看出是相关的,它们的关系是由于历史原因;最初,人们想要为 XML 文档设计一种通用的显示方式,就是 XSL;它的作用相当于 CSS HTML  的作用,要达到这个目标,XSL需要满足两方面要求,第一是重新组织文档的内容(这是显示的关键),第二是将显示属性与内容相关联;问题在于,第一方面的研究进展很快,而且发现这种对XML文档的重组不仅对显示有用,对很多其他方面也很有用,最简单的就是,两个公司各自有各自的XML标准,现在要对两个公司的业务进行自动化处理,而业务都是以XML存储的,那么这个过程势必需要对XML结构进行改变,以使两种标准能统一,这就是XSLT!而第二方面,合适显示属性的研究还存在争议,所以单独作为 XSL,而XSLT先一步成为了标准。事实上,XSLT 不仅在数据转换方面发挥重要作用,在基于XML文档的数据抽取方面也有很大作用的,这个以后有机会再详细说;

     有一个问题需要知道,就是以上提到的几种特性标准,实际上用一般的程序语言也可以达到同样的操作,比如用javadomSAX,同样可以定位到某一节的去取值,所以,这些所谓特性标准其实是将这类比较经常的操作独立出来而已。所以,有些操作,用 XSLT 的效率还远比不上直接用 dom 写,但是复杂的问题,用 特性标准来做就可以使系统更清晰。

 

 

 

分享到:
评论

相关推荐

    xml2axml反编译AndroidManafest文件

    使用java工具xml2axml.jar反编译AndroidManafest文件 通过xml2axml.jar工具反编译AndroidManafest文件 还原AndroidManafest.xml详细过程: 1、获取到apk 2、解压获取里面的AndroidManifest.xml文件 3、在xml2axml....

    maven的本地仓库配置文件settings.xml和项目中文件pom.xml.zip

    一、Idea关联的maven本地仓库配置文件settings.xml (1)必须使用默认文件名 D:\developsoft\javaweb\commonPlugins\maven\apache-maven-3.8.1_first\conf\settings.xml 二、Myeclipse关联的maven本地仓库配置文件...

    xml加密解密工具XMLEncryption

    xml加密(XML Encryption)是w3c加密xml的标准。这个加密过程包括加密xml文档的元素及其子元素,通过加密,xml的初始内容将被替换,但其xml格式仍然被完好的保留。 介绍 我们有3个加密xml的方法 1、仅仅使用对称...

    Tinyxml 源代码(VC6 & VS2005)

    TinyXML是一个简单小巧,可以很容易集成到其它程序中的C++ XML解析器。 它能做些什么 简单地说,TinyXML解析一个XML文档并由此生成一个可读可修改可保存的文档对象模型(DOM)。 XML的意思是“可扩展标记语言...

    XML与XMLSchema

    XML发展历史概述 XML文档组成元素 XML Schema组成元素 XML相关API

    vb6XML读写

    vb中读写XML文件实例Dim XMLDoc As DOMDocument Dim root As IXMLDOMNode Dim xlst As IXMLDOMNodeList, xlst1 As IXMLDOMNodeList Dim xn As IXMLDOMNode Dim xnf As IXMLDOMNode Dim xe As IXMLDOMElement Set ...

    Android APK xml 批量解密工具

    android开发中有时会想研究借鉴一下设计思路和UI风格,但解压apk包后 layout文件夹下xml文件一般都是加密的。在网上找到了一个工具,可以完美地解密xml文件,但这个工具的使用方法是:调cmd 然后...

    QT中读取XML文件三种方式 的实例

    XML(eXtensible Markup Language)是一种通用的文本格式,被广泛运用于数据交换和数据存储(虽然近年来 JSON 盛行,大有取代 XML 的趋势,但是对于一些已有系统和架构,比如 WebService,由于历史原因,仍旧会继续...

    纯C语言解析xml字符串

    纯C语言解析xml字符串,有实例,保证可用,含makefile xmlparse.c xmlparse.h testxml.c 目录:/export/home/chcard/testxml 日志:/export/home/chcard/log testxml.c 是一个测试用例,包含了常用的方法,并有注解 ...

    Altova XMLSpy2013简体中文版破解补丁

    Altova XMLSpy是一款业界最畅销的XML编辑器,这款XMLSpy2013重点新增了智能修复、Java应用程序无缝集成、集成外部程序等新功能,而且本站提供的是中文破解版,能给用户带来极大的方便。 Altova XMLSpy主要用于建模,...

    xml和java bean互相转换工具包(简单易用)

    xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...

    andxml xml解密工具

    andxml汉化版是一个xml文件反编译工具,可与APKTOOL反编译配合使用,APK文件使用APKTool反编译生成XML文件后,就可以直接通过它进行汉化编辑 注意: 1、一键机器翻译会造成某些代码出现翻译错误现象,请人工识别。...

    opencv+python 人脸识别的xml文件

    haarcascade_eye.xml haarcascade_eye_tree_eyeglasses.xml haarcascade_frontalcatface.xml haarcascade_frontalcatface_extended.xml haarcascade_frontalface_alt.xml haarcascade_frontalface_alt_tree.xml haar...

    XML - 实验(2) -- Schema

    《XML》实验任务书 【2】 XML Schema [实验目的] 1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素...

    让开源项目TinyXml支持Unicode(wchar_t)

    开源项目TinyXml项目所涉及的字符编码说明如下: 1. TinyXml函数调用接口的字符型参数,仅支持`窄字符`格式(char*),不兼容`宽字符`格式(wchar_t*)。 2. TinyXml函数提供的Xml内容解析功能,仅支持以ANSI编码和UTF...

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xml

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...

    易语言 xml解析 易语言 xml解析 教程 带源码

    易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 教程 带源码

    tinyxml与tinyxml2

    tinyxml与tinyxml2两个版本的源码,操作xml很方便,解压可以直接使用.

    动态生成Rss文件 Xml操作 Xml文件的修改

    动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...

    Maven pom.xml与settings.xml详解

    主要介绍了Maven pom.xml与settings.xml详解的相关资料,这里对pom.xml与setting.xml详细的研究说明,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics