项目工作总结 XML Schema(标准解读)
最近在做NetConf相关开发工作,其中很重要的一块是XML解析,项目也需要支持Schema,因此前段时间整理了Schema的两部分标准,只不过整理文档是无法带出来的,所以就在此把Schema相关的内容简单介绍其标准之后,以如何应用的方式记录下来,以供以后使用时参考。在后续的部分,我还将整理NetConf相关标准,作为总结。
一、总体概述
XML Schema的标准分为两部分Part 1: Structure 和Part 2:Data Type. Part 2部分描述了Schema中的数据类型定义、Schema支持的内置数据类型和数据类型相关的Facets;Part 1则描述了一组用于定义xml文档结构的Schema组件、使用组件的语法、组件的校验方法。
Part 2 中对Schema数据类型的定义是一个三元组(Value space、Lexical space、Facets),在这里不对这些名字进行翻译,使用原称为。
Value space就是该数据类型所能取值的集合;
Lexical space是该数据类型的字面表示形式的集合;例如对于Float类型,它可能写作25.2的形式,也可以写作2.52E1,这就是该float值的两种lexical value。
Facet是数据类型的方面,用于刻画数据类型特征。在标准中,主要分为两类,一类facets用于定义数据类型,称为fundamental facets,一类用于描述数据类型的取值范围,称为constraining facets。facets都是对数据类型value space的约束。
二、Schema支持的内置数据类型
Schema支持的内置数据类型参见http://www.w3.org/TR/xmlschema11-2/#built-in-datatypes 。
三、Schema中的Facets
1. fundamental facets:
这一类facets只出现在simpleType的定义中,且只出现一次。有四类:
ordered:描述值的顺序关系(全序、偏序、无序)
bounded:描述值的界限
cardinality:描述valuespace的规模
numeric:描述value的可数性,即是否数值
2. constraining facets
这一类facets在进行类型派生的时候值可以改变。对于每一个facet并不是可以用于任何一种数据类型,具体可以参见schema实现文档。
length,maxLength,minLength:用于约束字符串类型的长度
pattern:指定一个正则表达式,描述值应该具有的lexical value
maxInclusive,minInclusive,maxExclusive,minExcl
相关文档:
xml
<mime>
<content>
<type>text/plain</type>
<big>357</big>
<text>D:\\cybercourttext2009101410241364.txt</text>
</content>
<content>
<type>text/plain</type>
<big>357</big>
<text>D:\\cybercourttext2009 ......
XPath 语法
2007-06-05 17:24
XPath 语法
作者:w3pop.com 翻译/整理:w3pop.com 发布:2007-04-29 浏览:674 :: ::
XPath Nodes(节点) XPath Axes
XPath uses path expressions to select nodes or node-sets in an XML document. The node is selected by following a path or steps.
XPath 通过路径表达式从XM ......
XML Schema 中 import 和 include 的区别
XML Schema 允许将一个XSD文件分为几个文件存放,在必要时使用 import 或者 include 进行导入。这二者的区别是:
import:只能导入不同命名空间的XSD
include:只能导入相同命名空间的XSD,或被导入的XSD未声明命名空间
例子:
<xsd:import namespace=”http://acme ......
1:如何通过socket代理来访问服务端:
String proxyHost =
"192.168.204.212"
;
String proxyPort =
"1080"
;
//通知Java要通过代理进行连接。
正在装载数据……
System.get ......
function init() {
var viewChartID = 0;
var viewChartSum = "" ;
reportName = document.getElementById("reportName").value;
xmlDoc=loadXMLDoc("./charreport/xml/viewChart.xml");
x=xmlDoc.getElementsByTagName('viewChart')[0].childNodes;
for (i=0;i<x.length;i++ ......