xmlns 与 targetNamespace 的解释
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 的解释的更多相关文章
- xmlns与targetNamespace
xmlns与targetNamespace xmlns与targetNamespacehttp://blog.sina.com.cn/weatry在使用XML Schema生成XML文件时,我们常常会 ...
- xmlns, xmlns:xsi, xsi:schemaLocation 解释
xmlns, xmlns:xsi, xsi:schemaLocation 解释 xmlnsxsischemaLocation 我们在写 xml 文件时,尤其是 spring .mybatis 的配置文 ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- Java调用WebService方法总结(2)--JAX-WS调用WebService
用JAX-WS(Java API for XML Web Services)调用WebService不需要引入其他框架,都是JDK自带的:文中所使用到的软件版本:Java 1.8.0_191.Dom4 ...
- cxf构建webservice的两种方式
一.简介 对于基于soap传输协议的webservice有两种开发模式,代码优先和契约优先的模式.代码优先的模式是通过编写服务器端的代码,使用代码生成wsdl:契约优先模式首先编写wsdl,再通过ws ...
- Java_Activiti5_菜鸟也来学Activiti5工作流_之初识BPMN2.0的简单结构(五)
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http:// ...
- Activiti工作流学习-----基于5.19.0版本(6)
七. BPMN的简介 读者了解到这里,应付一般的工作流开发已经足够了.此处应该有华丽的分割线,在工作流项目中核心开发人员主要是对工作流业务设计以及实现,而初级开发人员是对业务功能的代码实现.以后将主要 ...
- Activiti-05-.Deployment and MN 2.0 Introduction
Business archives (业务归档) 为了部署流程,业务档案必须被封装,业务档案是activiti 引擎部署的单元,它相当于zip文件,它包含BPMN 2.0 processes, tas ...
- Activiti 实战篇 小试牛刀
原文地址:http://blog.csdn.net/qq_30739519/article/details/51166062 1:工作流的概念 说明: 1) 假设:这两张图就是华谊兄弟的请假流程图 ...
随机推荐
- Linux大牛分享的7道经典面试题和秒收 offer 的技巧
笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,闲话少说,下面就分享给大家Linuxer的面试经历: 首先,猎头或者公司人资会把公司的介绍及岗位要求发到你邮箱( ...
- shell编程——保留元字符
在shell中有以下几种字符含有特殊含义,属于保留元字符: & * + ^ $ ` " | ? 当脚本在执行过程中遇到上述字符时,会执行其具有的特殊含义,除非在前面加"\& ...
- manta api
Authentication 有几个访问方法. 验证对服务的请求的主要方法是使用TLS上的HTTP签名. 在大多数情况下,您只需使用SSH私钥对HTTP Date标头的小写日期:和值进行签名; 这样做 ...
- 解剖Nginx·自动脚本篇(6)编译器名称变量脚本 auto/cc/name
回顾变量 CC 最初是在auto/options脚本中初始化的: CC=${CC:-gcc} 1 C Compiler 的 feature Windows 平台的编译器叫做MSVC,其他平台的都统称为 ...
- Spket,eclipse下安装Spket插件,格式化js
点击菜单 Help => Install New SoftWare => add 如图 name框输入:Skept Location框输入:http://www.agpad.com/upd ...
- Unity 之 Shader 面的剔除 Cull
面的剔除 Cull 在渲染的时候,默认情况下是只有朝向摄像机的面才会被渲染,可以告诉Unity,我想渲染哪一个朝向的面,使用Cull命令在计算体积阴影的时候会用到对Cull的操作来计算和物体相交的投影 ...
- Opencv Shi-Tomasi角点检测
#include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...
- 10-stack
c++ stl栈stack介绍 C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构. c++ stl栈stack的头文件 ...
- Visula Studio 2013 初始化静态浮点型数据在C++类内
class MyClass { private: static const int intvalue= 50; static const float floatvalue = 0.07f; }; 如上 ...
- ubuntu14.04安装chromium以及flash插件
之前找了好几个方法都不还用,今天突然发现,还挺简单的.命令如下: sudo apt-get updatesudo apt-get install chromium-browser#sudo add-a ...