随笔分类 - XML
摘要:在前面的XSD笔记中,基本上是以数据类型为主线来写的,而在我的实际开发过程中,是先设计好了XML的结构(元素、属性),并写好了一份示例,然后再反过来写XSD文件(在工具生成的基础上修改),也就是说,是以XML结构为主线的。而我在学习XSD的时候,则是以能否看懂spring-beans-3.2.xsd这个文件来检测自己,我的想法很简单,这个文件已经够复杂——对我来说——如果能够看懂这个文件,那基本上已经够我用的了,倘若实际开发的时候遇到超出这个范围的,那到时候再找相关资料学习也不晚。一、为XML结构编写相应XSD片段1、定义一个没有属性也没有内容的元素——没有属性的空元素: 2...
阅读全文
摘要:在上一篇笔记的结尾,我们接触到了两个用于选择XML文档中特定范围的元素和,这两个元素的取值都是XPath表达式,那么,什么是XPath呢?简单的说,XPath是用于在XML文档中查找信息的语言,可用来在XML文档中遍历元素和属性,很多XML的相关技术比如XSLT、XQuery、XPointer等都是构建于XPath的基础之上,在这一篇笔记中,就来学习一下XPath语言。1、相关术语(1)节点(Node):格式良好的XML文档都可以转换为一个树型结构,XPath中的节点也就是这个树型结构中的节点。概况起来,有如下所列的七种节点:节点类型说明XML文档根节点XML文档的根称为文档节点或根节点元..
阅读全文
摘要:和简单数据类型对应就是复杂数据类型了,XML元素的数据类型可以是简单数据类型,也可以是复杂数据类型,而XML属性的数据类型就只能是简单数据类型。这篇笔记,就来学习一下XSD中的复杂数据类型了。1、定义复杂数据类型(1)和元素用来定义简单数据类型相对应,可以使用元素来定义复杂数据类型。其语法为: (annotation?,(simpleContent|complexContent|((group|all|choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))其中元素的属性说明如下:属性说明id唯一标识元素本身name...
阅读全文
摘要:XSD提供了数据类型,并且支持自定义数据类型,但这一切都是建立在XSD内置数据类型和一套扩展内置数据类型的规则基础之上的,在这一篇笔记中,就来看看XSD中的数据类型。1、XSD数据类型图先看一下数据类型图,有个大概的轮廓,后面再进一步细化:从上面的XSD数据类型图可以看出,主要分成两个大类:(1)简单类型:可以给属性使用,也可以给元素使用,除了内建类型,也可以使用自定义简单类型,而自定义的方式有三种:限制、列表、联合。(2)复杂类型:只能给元素使用,并且全部需要使用来自定义,根据内容又可进一步区分为含简单内容的复杂类型和含复杂内容的复杂类型,分别使用和定义其内容。另外,复杂类型还可以使用限..
阅读全文
摘要:现在的语言,如果不有那么一点OO的影子,都不好意思称之为语言了。在XML的语义约束方面,DTD虽然简单,但是功能不够强大,完全是直白的描述,于是又有了替代DTD的XSD(XML Schema Definition),XSD引入了数据类型,提供了自定义数据类型的各种机制,甚至还能找到继承、多态等各种OO特征,然而学习起来也就相对复杂了,从这篇笔记开始学习一下XSD。1、XSD文件是一种XML文件 XSD文件是一种XML文件,满足所有XML文件格式的一切要求,比如有且仅有一个根元素(这个根元素就是),所有对XML文件有效的技术对XSD文件也同样有效,包括使用XSD文件作为语义约束。2、XSD...
阅读全文
摘要:在上一篇笔记中,将文档类型分类时,曾经根据文档是否使用并遵守了DTD或Schema来区分为格式良好的XML和有效的XML,那么什么是DTD和Schema呢?DTD和Schema都是用来规范XML文档的,对XML文档进行语义约束的,DTD简单易用,Schema则功能强大。在这篇笔记中,首先学习一下DTD(Document Type Definition,文档类型定义)。1、在XML文档中怎么使用DTD导入方式语法格式说明内部DTD将DTD定义放在XML文档内部,紧跟在XML声明和处理指令后面如: ]>外部DTD将DTD单独定义在一个文件内,然后通过关键字SYSTEM导入DTD如:公用DTD
阅读全文
摘要:我对于XML是很不够重视的,认识也是非常肤浅的,因为在之前的Web经验中,基本上都可以使用JSON来代替XML,JSON网络流量少,解析快,JS支持好等这些特点让我对自己的观点坚信不疑。然而我渐渐地改变了这些观点,最近写了一个基于Spring的服务配置体系,主要思想是将一些常用的服务封装成服务类,预留一些参数接口,然后通过Spring注入这些参数以及服务类之间的各种关系,实现业务逻辑配置化,尽最大可能地实现代码复用、易于维护等,在实际开发以及运用时,Spring配置文件变得越来越大,于是产生了能否将服务配置剥离出来单独管理的想法,但是这个想法一开始就遭遇了非常大的挫折——这源于我在XML领..
阅读全文
摘要:Java EE 开发平台随手记 Java EE开发平台随手记1 Java EE开发平台随手记2——Mybatis扩展1 Java EE开发平台随手记3——Mybatis扩展2 Java EE开发平台随手记4——Mybatis扩展3 Java EE开发平台随手记5——Mybatis动态代理接口方式的原
阅读全文