对一个xml编写xsd的实例

原创 2007年09月30日 17:09:00

有坛中兄弟给我发了一个xml,须写xsd验证,这方面我也是新手呢,不过看了http://www.w3school.com.cn/schema/index.asp的教程而已,所以这倒是我第一次写xsd了。

给定xml (project_4.xml)文件如下:

<UWO>
    
<Departments>
  
<Department>
   
<Name>Economics</Name>
   
<Address>Social Science Centre, UWO, London, Ontario, Canada , N6A 5C2</Address>
   
<Location>SSC 4071</Location>
   
<Phone>519 661-3500 x83500</Phone>
   
<Facsimile>519 661-3666 x83666</Facsimile>
   
<Email>economics@uwo.ca</Email>
   
<WEB>http://economics.uwo.ca</WEB>
  
</Department>
  
<Department>
   
<Name>Political_science</Name>
   
<Address>Social Science Centre, UWO, London, Ontario, Canada , N6A 5C2</Address>
   
<Location>SSC 4154</Location>
   
<Phone>519 661-3266 x83266</Phone>
   
<Facsimile>519 661-3904 x83904</Facsimile>
   
<Email>polisci-web@uwo.ca</Email>
   
<WEB>http://politicalscience.uwo.ca</WEB>
   
<SERVICES>
    
<Service>
     
<Name>Local_Government_program</Name>
     
<Phone>519 661-2111 x80501</Phone>
     
<Location>SSC 4148</Location>
     
<WEB>http://localgovernment.uwo.ca</WEB>
    
</Service>
    
<Service>
     
<Name>Politics_020E_course_Coordinator</Name>
     
<Phone>519 661-2111 x85108</Phone>
     
<Location>ssc 4149</Location>
    
</Service>
   
</SERVICES>
  
</Department>
   
</Departments>
</UWO>

 编写xsd文件(project.xsd):

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://bbs.xml.org.cn" xmlns="http://bbs.xml.org.cn" elementFormDefault="qualified">
    
<xsd:element name="UWO">
        
<xsd:complexType>
            
<xsd:sequence>
                
<xsd:element name="Departments">
                    
<xsd:complexType>
                        
<xsd:sequence>
                            
<xsd:element name="Department" type="departmentType" maxOccurs="unbounded"/><!--调用后面定义的departmentType类型-->
                        
</xsd:sequence>
                    
</xsd:complexType>
                
</xsd:element>
            
</xsd:sequence>
        
</xsd:complexType>
    
</xsd:element>
    
<xsd:group name="departmentBasic"><!--定义一个group-->
        
<xsd:sequence>
            
<xsd:element name="Name" type="xsd:string"/>
            
<xsd:element name="Address" type="xsd:string"/>
            
<xsd:element name="Location" type="xsd:string"/>
            
<xsd:element name="Phone" type="xsd:string"/>
            
<xsd:element name="Facsimile" type="xsd:string"/>
            
<xsd:element name="Email" type="xsd:string"/>
            
<xsd:element name="WEB" type="xsd:string"/>
        
</xsd:sequence>
    
</xsd:group>
    
<xsd:complexType name="departmentType"><!--定义departmentType类型-->
        
<xsd:sequence>
            
<xsd:group ref="departmentBasic"/><!--引用前面定义的group-->
            
<xsd:element name="SERVICES" maxOccurs="1" minOccurs="0" type="servicesType"/><!--调用后面定义的servicesType类型-->
        
</xsd:sequence>
    
</xsd:complexType>
    
<xsd:complexType name="servicesType"><!--定义servicesType类型-->
        
<xsd:sequence>
            
<xsd:element name="Service" maxOccurs="unbounded">
                
<xsd:complexType>
                    
<xsd:sequence>
                        
<xsd:element name="Name" type="xsd:string"/>
                        
<xsd:element name="Phone" type="xsd:string"/>
                        
<xsd:element name="Location" type="xsd:string"/>
                        
<xsd:element name="WEB" type="xsd:string" minOccurs="0"/>
                    
</xsd:sequence>
                
</xsd:complexType>
            
</xsd:element>
        
</xsd:sequence>
    
</xsd:complexType>
</xsd:schema>

当然还要对xml文件进行关联,所以修改后的project_4.xml为:

<?xml version="1.0"?>
<UWO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://bbs.xml.org.cn project.xsd" xmlns="http://bbs.xml.org.cn">
    
<Departments>
  
<Department>
   
<Name>Economics</Name>
   
<Address>Social Science Centre, UWO, London, Ontario, Canada , N6A 5C2</Address>
   
<Location>SSC 4071</Location>
   
<Phone>519 661-3500 x83500</Phone>
   
<Facsimile>519 661-3666 x83666</Facsimile>
   
<Email>economics@uwo.ca</Email>
   
<WEB>http://economics.uwo.ca</WEB>
  
</Department>
  
<Department>
   
<Name>Political_science</Name>
   
<Address>Social Science Centre, UWO, London, Ontario, Canada , N6A 5C2</Address>
   
<Location>SSC 4154</Location>
   
<Phone>519 661-3266 x83266</Phone>
   
<Facsimile>519 661-3904 x83904</Facsimile>
   
<Email>polisci-web@uwo.ca</Email>
   
<WEB>http://politicalscience.uwo.ca</WEB>
   
<SERVICES>
    
<Service>
     
<Name>Local_Government_program</Name>
     
<Phone>519 661-2111 x80501</Phone>
     
<Location>SSC 4148</Location>
     
<WEB>http://localgovernment.uwo.ca</WEB>
    
</Service>
    
<Service>
     
<Name>Politics_020E_course_Coordinator</Name>
     
<Phone>519 661-2111 x85108</Phone>
     
<Location>ssc 4149</Location>
    
</Service>
   
</SERVICES>
  
</Department>
   
</Departments>
</UWO>

相关文章推荐

简单xsd实例

XML和Schema命名空间详解---实例篇

上文把XML和Schema的命名空间的一些相关内容进行了详细介绍,下面通过例子来具体了解:     例一:重点理解名称空间的相关概念。     下面的例子是一个XML Schema文件,名为"note...

怎么写xsd文件

1.最简单的Schema文档 如何写一个最简单的XML Schema文档呢? 首先,我们写出一个最简单的XML文档。 hello.xml ------------------- versio...
  • sidihuo
  • sidihuo
  • 2014年11月04日 11:38
  • 8296

另一个java xml xsd

本文介绍了使用XML Schema文件(即.xsd)文件对XML文件的验证,早期的XML文件是由DTD进行定义的,但是后来转为由XML Schema进行定义,有时为了对一个xml文档进行验证,可能要根...

一个 XSD 实例

http://www.w3school.com.cn/schema/schema_example.asp本节会为您演示如何编写一个 XML Schema。您还将学习到编写 schema 的不同方法。X...
  • plean
  • plean
  • 2011年07月14日 16:57
  • 286

XML简介Schema之XSD XSD 实例 VS 字符串数据类型

17.XSD 实例 ======================================== 本节会为您演示如何编写一个 XML Schema。您还将学习到编写 schema 的不同方法。...

一个完全读取XML的实例(C#)

  • 2008年02月26日 15:38
  • 525KB
  • 下载

S2465_xslt_xsd_xml

  • 2013年12月13日 15:07
  • 1.07MB
  • 下载

Eclipse引用XSD实现XML配置文件提示标签

对于SpringMVC的下载包,XSD文件存放在压缩包里的Schema文件夹里,而且各功能的XSD存放在各自文件夹内,把最新版本的XSD文件取出。 Eclipse软件,依次选择Window--Pre...

XSD根据xml生成schema文件

  • 2017年07月18日 15:08
  • 20KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对一个xml编写xsd的实例
举报原因:
原因补充:

(最多只允许输入30个字)