Chinaunix首页 | 论坛 | 博客
  • 博客访问: 701099
  • 博文数量: 111
  • 博客积分: 2109
  • 博客等级: 上尉
  • 技术积分: 1124
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-25 12:11
个人简介

通信码农,Emacs爱好者,业余IOS程序员,更业余的PM

文章分类

全部博文(111)

文章存档

2018年(2)

2016年(2)

2015年(2)

2014年(13)

2013年(21)

2012年(71)

分类: WINDOWS

2012-09-23 18:06:37

在XML Schema中,有3类共7种指示器(Indicator):

一、定义元素如何出现:包括all,sequence,choice 这三个。

1、all:默认值。不限制子元素的出现顺序,每个子元素必须出现且只能出现一次。例如:


 
   
     
     
   

 

2、sequence:子元素在XML文件中按照XML Schema定义的顺序出现。前面已经提过。

3、choice:两个子元素中仅出现一个。例如:


 
   
     
     
   

 

二、次数限定类,包括minOccurs和maxOccurs,前者指定最少出现次数,后者指定最多出现次数。例如:


 
   
     
     
   

 

如果元素出现的最大次数无限制,可以使用maxOccurs="unbounded"。

三、组限定:包括Group和attributeGroup,用来定义一组相关的元素。比如:


 
   
   
   
 

——————————————————————-


 
 
 

补充: ,在XML Schema中使用这两个元素可以放宽Schema对XML文件内容的限制。容许我们在XML文件中使用没有在Schema中定义的元素和属性。

元素属性substitutionGroup可以让元素b替换元素a在XML文件中出现。比如:


这种情形类似choice:


   
   

这是利用指示器,但是在excel中建立好映射之后,将对应element脱到对应格子上之后,格子还是可扩展的,最后没有找到更好的解决办法。只能通过在对应格子下面加上一个空格符填充的归并后的cell来限制继续往下写。例如,想限制住a type,在xml中a 只能出现4行。那就将excel中的映射框拖到4行,在第五行填上空格字符来限制。比较笨拙的方法,但是我是黔驴技穷了。。。

阅读(7964) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~