易截截图软件、单文件、免安装、纯绿色、仅160KB

项目工作总结 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


相关文档:

spring xercesImpl xml 解析问题

问题描述:
   jboss应用服务器,使用spring 
   无法启动服务,错误日志:
[org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@155d3a3] does not
support XML Schema. Are you running on Java 1.4 or below with Apache
Crimson? Upgrade to Apache Xerces (or Java 1.5) for full XSD ......

.net中,读取XML在页面显示,布局用Repeater控件

 public static IList<News> GetAllNews()
        {
            XmlDocument xdoc = new XmlDocument();
            xdoc.Load("你读取的地址:例如 ......

AJAX使用json解析与使用xml解析的比较

工具:myeclipse 6.5
json中文官方:http://www.json.org/json-zh.html
新建项目webs,在WebRoot下新建目录json
xml的解析方式:
------------------------------------------------------------------
1.新建NewFile.xml
<?xml version="1.0" encoding="UTF-8"?>
<userinfo>
  ......

js 解析 xml 属性

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++ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号