first_.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="www.first.com">
<xs:simpleType name="bid">
<xs:restriction base="xs:string">
<xs:pattern value="[A]\d{6}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
second_.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="www.second.com">
<xs:simpleType name="aid">
<xs:restriction base="xs:string">
<xs:pattern value="[c]\d{6}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
_third.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="www.myweb.com"
targetNamespace="www.myweb.com"
xmlns:first="www.first.com"
xmlns:second="www.second.com"> <xs:import namespace="www.first.com" schemaLocation="first_.xsd"/>
<xs:import namespace="www.second.com" schemaLocation="second_.xsd"/> <xs:element name="books" type="infotype"/> <xs:complexType name="infotype">
<xs:sequence>
<xs:element name="book" type="booktype"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="booktype">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="atype"/>
</xs:sequence>
<xs:attribute name="bookid" type="first:bid"/>
</xs:complexType>
<xs:complexType name="atype">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
<xs:attribute name="authorid" type="second:aid"/>
</xs:complexType>
</xs:schema>

说明:

first_.xsd:定义简单类型, 并指定目标命名空间为"www.first.com";

second_.xsd:定义简单类型, 并指定目标命名空间为"www.second.com";

third_.xsd:定义复杂类型,并引用first_.xsd, second_.xsd,引用这两个schema文件,但是目标命名空间不一致。因为third_.xsd引用了first_.xsd, second_.xsd所以必须指定这两个文件的命名空间为"www.first.com"和"www.second.com",否则无法引用firtst.xsd, second.xsd中定义的简单类型数据;

目标命名空间:指定被此Schema文档约束的元素及数据类型都来自于的命名空间;

默认命名空间:指定当前XML文档中使用的元素及数据类型都来自于的命名空间;

xml Schema import的更多相关文章

  1. XML Schema and XMLspy notes

    Introduction An xml documents consists of elements, attributes and text. There are two structures in ...

  2. XML详解:第二部分 XML Schema

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. How to create XML validator(验证器;验证程序) from XML schema

    In order to check XML data for validity we have to prepare its schema XSD-file. This file will be lo ...

  4. XML 与 XML Schema的使用教程

    引言:我写本文的宗旨在于给需要使用XML,而又对XML不是很熟悉的人们提供一种使用思路,而不没有给出具体的     使用方法,至于下文中提到的使用方法,还未尝试过,都是从网上整理而来! 一.概述 什么 ...

  5. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  6. 7 -- Spring的基本用法 -- 11... 基于XML Schema的简化配置方式

    7.11 基于XML Schema的简化配置方式 Spring允许使用基于XML Schema的配置方式来简化Spring配置文件. 7.11.1 使用p:命名空间简化配置 p:命名空间不需要特定的S ...

  7. rest-assured之Schema validation(包括JSON Schema validation及Xml Schema validation)

    rest-assured从2.1.0版本开始支持  Schema 验证,包括JSON Schema validation及Xml Schema validation.我们之前断言响应体都是一个一个字段 ...

  8. Spring可扩展的XML Schema机制

    可扩展的XML Schema机制 从Spring2.0开始,Spring提供了XML Schema可扩展机制,用户可以自定义XML Schema文件,并自定义XML Bean解析器,并集成到Sprin ...

  9. 缘起 Dubbo ,讲讲 Spring XML Schema 扩展机制

    背景 在 Dubbo 中,可以使用 XML 配置相关信息,也可以用来引入服务或者导出服务.配置完成,启动工程,Spring 会读取配置文件,生成注入 相关 Bean.那 Dubbo 如何实现自定义 X ...

随机推荐

  1. SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)

    刚开始学习SQL SERVER 2005,弄了一个上午修改数据库名,主要是需要修改db.mdf 和db_log.ldf的名字,总算解决了.在这里记下,以后再要修改了就别忘了. 假设原来数据库名为db, ...

  2. yii学习第一课 《命名空间》

    <?php namespace a\b\c; class Apple { function getInfo() { echo 'this is a<br>'; } } <?ph ...

  3. Python随机森林算法的使用

    #coding:utf-8 # from python.Lib.packages.sklearn.tree import DecisionTreeClassifier # from python.Li ...

  4. iconv命令 gbk 转 UTF-8

    -----linux gbk 转 UTF-8-------- iconv 用法 iconv -f "gbk" -t "utf-8" < infile &g ...

  5. ADT bundle和Eclipse和Android Studio有什么区别?安卓开发该用哪个?

    这三个版本的出现有一定的历史的原因:1.最开始只有eclipse+独立的adt一种开发环境,但是由于eclipe作为一种通用的ide,带来的问题太多,经常出现eclipse的版本不兼容adt的情况,或 ...

  6. java 抽象类与接口的区别

    在Java 语言中, abstract class 和interface 是支持抽象类 定义的两种机制.正是由于这两种机制的存在,才赋予 了Java强大的 面向对象能力.abstract class和 ...

  7. Python:集合

    set集合: 特点:无序,元素不重复 功能:关系测试,去重 集合创建: >>> s = set('python') >>> s {'p', 't', 'y', 'h ...

  8. MYSQL存储过程:批量更新数据

    地区等级的信息储存在jsjh_district表. 要更新jsjh_goods_district表的district_level地区信息 DELIMITER $$ DROP PROCEDURE IF ...

  9. 在windows环境下基于sublime text3的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

  10. ubuntu下非本账户的.profile文件的修改

    今天不小心在账户了修改了自己的.profile文件,导致重启之后账户无法进入,点登陆账户后黑屏后就重新回到账户登陆界面.一番折腾之后终于成功修改了原账户中的.profile文件,成功从新进入了原账户. ...