test.xsd文件:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
targetNamespace="http://xxx/myxml"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://xxx/myxml">
<xs:element name="my-document">
<xs:complexType>
<xs:choice>
<xs:element name="my-mn"/>
<xs:element name="my-case"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="my-mn"/>
<xs:element name="my-case">
<xs:complexType>
<xs:choice>
<xs:element ref="my-mn"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema> test.xml文件: <?xml version="1.0" encoding="UTF-8"?>
<my-document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xxx/myxml"
xsi:schemaLocation="http://xxx/myxml test.xsd">
<my-case>
<my-mn>
</my-mn>
</my-case>
</my-document> targetNamespace 是一个被xml文件某些元素的xmlns或xmlns:xxx属性引用的目标命名空间值,其值通常以URI形式存在.
它也可以被自身xsd文件schema元素的xmlns属性引用.(红色字体部分) xmlns或xmlns:xxx决定了某元素的归属问题,也包括 ref 所指向的值, 如:<xs:element ref="my-mn"/>中的 my-mn. 这里的问题就是: xsd文件中红色字体部分: xmlns="http://xxx/myxml" 是否一定要出现? 答案是:不一定. 在这个xsd中,它是一定要出现的, 否则 <xs:element ref="my-mn"/> 中的 my-mn 找不到命名空间, 如果把它改成 <xs:element name="my-mn"/> ,则可以不出现. 在xml文件中,如果使用的 xsd 定义的元素(无前缀),则 xmlns="http://xxx/myxml" 必须出现在xml文件中,且跟targetNamespace 的值保持一致. 而 xsi:schemaLocation 则是该 xsd文件的真实地址(每两个值为一对,取自第二个值), 否则无法通过 schema 验证.

xmlns 与 targetNamespace 的解释的更多相关文章

  1. xmlns与targetNamespace

    xmlns与targetNamespace xmlns与targetNamespacehttp://blog.sina.com.cn/weatry在使用XML Schema生成XML文件时,我们常常会 ...

  2. xmlns, xmlns:xsi, xsi:schemaLocation 解释

    xmlns, xmlns:xsi, xsi:schemaLocation 解释 xmlnsxsischemaLocation 我们在写 xml 文件时,尤其是 spring .mybatis 的配置文 ...

  3. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  4. Java调用WebService方法总结(2)--JAX-WS调用WebService

    用JAX-WS(Java API for XML Web Services)调用WebService不需要引入其他框架,都是JDK自带的:文中所使用到的软件版本:Java 1.8.0_191.Dom4 ...

  5. cxf构建webservice的两种方式

    一.简介 对于基于soap传输协议的webservice有两种开发模式,代码优先和契约优先的模式.代码优先的模式是通过编写服务器端的代码,使用代码生成wsdl:契约优先模式首先编写wsdl,再通过ws ...

  6. Java_Activiti5_菜鸟也来学Activiti5工作流_之初识BPMN2.0的简单结构(五)

    <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http:// ...

  7. Activiti工作流学习-----基于5.19.0版本(6)

    七. BPMN的简介 读者了解到这里,应付一般的工作流开发已经足够了.此处应该有华丽的分割线,在工作流项目中核心开发人员主要是对工作流业务设计以及实现,而初级开发人员是对业务功能的代码实现.以后将主要 ...

  8. Activiti-05-.Deployment and MN 2.0 Introduction

    Business archives (业务归档) 为了部署流程,业务档案必须被封装,业务档案是activiti 引擎部署的单元,它相当于zip文件,它包含BPMN 2.0 processes, tas ...

  9. Activiti 实战篇 小试牛刀

    原文地址:http://blog.csdn.net/qq_30739519/article/details/51166062 1:工作流的概念   说明: 1) 假设:这两张图就是华谊兄弟的请假流程图 ...

随机推荐

  1. 不可能的工作:在FBX模型导入脚本中生成模型的预置体

    #if UNITY_EDITOR using System.Collections; using System.Collections.Generic; using System.IO; using ...

  2. MySQL中函数CONCAT及GROUP_CONCAT函数的使用

    一.CONCAT()函数 CONCAT()函数用于将多个字符串连接成一个字符串. 以数据表[user]作为实例: SELECT USER_NAME, SEX FROM USER WHERE USER ...

  3. axis2 webService开发指南(1)

    参考文件:blog.csdn.net/IBM_hoojo http://hoojo.cnblogs.com/ 1 WebService简介 WebService让一个程序可以透明的调用互联网的程序,不 ...

  4. C#自省

    [C#自省] 1.根据string,获取type.Type.GetType 方法,获取具有指定名称的 Type,执行区分大小写的搜索. 2.根据obj,获取type.Object.GetType 方法 ...

  5. SpringBoot31 整合SpringJDBC、整合MyBatis、利用AOP实现多数据源

    一.整合SpringJDBC 1  JDBC JDBC(Java Data Base Connectivity,Java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数 ...

  6. Win10 提升系统响应速度

    转载百度经验: https://jingyan.baidu.com/article/54b6b9c0e9d61e2d583b4719.html 1.鼠标左键点击开始按钮,然后点击菜单中的设置,进入设置 ...

  7. 20-list简单使用:

    C++list的使用总结及常用list操作 C++中list用法详解 STL中list的erase()方法的使用   listiterator 最近刚刚接触stl的list    学习的时候遇到了很多 ...

  8. [C++] advanced reference

    advanced reference

  9. Spring Data JPA初使用 *****重要********

    Spring Data JPA初使用 我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度. 在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样 ...

  10. HUST软件测试1504班: 第0周作业成绩

    说明 本次公布的成绩包含三次作业的结果: 毕博平台课前测试题 第0周作业1:开设博客 第0周作业2:博客阅读和思考 如果同学对作业结果存在异议,可以: 在线平台的第一周在线答疑中创建话题申诉. 或直接 ...