项目工作总结 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 ......
最近做的一个项目中运用 xml 数据岛技术,所以把数据岛方面的知识总结一下。
XML 数据岛 ( data islands )就是被 html 页面引用或者包含的 xml 数据,是从 IE5 开始引入的一项技术。可以通过 xml 标签很轻松将数据岛插入到 html 文档中。那么怎么访问 xml 数据岛的数据呢,很简单,通过 xml 的 id 。在页 ......
public static IList<News> GetAllNews()
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load("你读取的地址:例如 ......
今天在CC上看到evangel在招人,上面写了一条数据解析,我想应该就是对XML的解析吧,暂且这样理解了,呵呵。下午搜索了一点东西自己弄了一个XML然后读读看看,现在仅仅是读出了一些东西,先保存代码,待后续更新!
这个是我创建的xml文件,用于测试用的:
<?xml version="1.0" e ......