admin 管理员组

文章数量: 1086019


2024年1月17日发(作者:神剪辑下载)

1 Xml命名空间

1.1 XML命名空间XML Namespaces

XML 命名空间提供避免元素命名冲突的方法。XML命名空间属性被放置于元素的开始标签之中,并使用以下的语法:

xmlns:namespace-prefix="namespaceURI"

举例

当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。

注释:标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。

1.2 默认的命名空间(Default Namespaces)

为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。

xmlns="namespaceURI"

举例

2 Xml Schema命名空间

2.1 常用命名空间

schema元素引用了三个最常使用的命名空间:

xmlns="/2001/XMLSchema"

xmlns:xsd="/2001/XMLSchema-datatypes"

xsd是XML Schema datatypes的意思

xmlns:xsi="/2001/XMLSchema-instances"

xsi是XML Schema Instances的意思

第二和第三个属性用XML命名空间来标识W3C中的两个XML schema规范。第二个xmlns属性定义了标准的XML schema属性类型例如string, float, integer等。第三个 xmlns属性包含基本的XML schema元素,如element, attribute, complexType, group,simpleType等。

2.2 默认命名空间(default namespaces)

每一个Schema可以有且只有一个默认命名空间

xmlns="/2001/XMLSchema"

xmlns=””

在文档中所有的名字前面如果没有前缀的,就是由默认命名空间进行定义和解析的。使用默认命名空间,可以不加空间前缀。

2.3 元素

该元素是每一个 XML Schema 的根元素。对于任何一个XML Schema定义文档(XSD)都有一个最顶层的schema (XSD)元素。而且该schema (XSD)元素定义必须包含标准命名空间作为命名空间的标识符(在声明中作为元素或属性的前缀),你也可以不使用xsd或xsi。

一个有命名空间 schema 声明往往看上去类似这样:

targetNamespace=""

xmlns=""

elementFormDefault="qualified">

...

无命名空间schema 声明

elementFormDefault="qualified">

引入其他

对于标准名字空间和目标名字空间,我们不需要指定它的SchemaLocation。因为对于目标名字空间来讲,SchemaLocation就是文档自己。对于标准名字空间来讲,它是众所周知的,也不需要指定。而对于源目标空间来讲,就需要指定它的SchemaLocation。

xmlns="/1999/xmlSchema"

xmlns:ACC="/Account"

xmlns:PART="/PartsCatalog">

schemaLocation="/repository/"/>

2.4 元素属性说明:

2.4.1 源命名空间(source namespaces):带前缀名的

在Schema中的定义和声明也可以引用其他的命名空间,我们可以把这种命名空间取名为源命名空间(source namespaces)。每一个Schema可以有多个源命名空间。

xmlns:xs=/2001/XMLSchema

xmlns:xsi=/2001/XMLSchema-instance

2.4.2 目标命名空间(target namespace)

每一个Schema可以有且只有一个目标命名空间。Xml Schema定义文档中(XSD)定义的一系列元素名称,类型名称,属性名称和属性组名称等的有效作用范围就是在他们的目标名字空间(target namespace)中。实际上,在一个给定的Schema中,每一个名称都是属于一个特定的名字空间的。

argetNamespace属性表示了该shema对应的命名空间的URI。也就是说在引用该Schema的其它文档中要声明命名空间的URI应该是targetNamespace的属性值。

2.4.3 elementFormDefault

有效值是 qualified 和unqualified,如果该值是 qualified,实例xml根元素及其下所有子元素都必须通过命名空间前缀限定目标命名空间。这个命名空间必须是schema中定义的targetNameSpace。可以看到引用了的XML文件中声明了

xmlns="urn:MyNamespace",声明中没有使用前缀,元素前也就不用添加前缀;如果该值是

unqualified,实例xml的根元素必须有命名空间的的限定,这个命名空间必须是schema中定义的targetNameSpace。但是其下子元素无须也不允许用命名空间前缀限定目标命名空间。

子元素的命名空间为空命名空间。

3 Xml使用xsd

XML文件和XSD文件没有直接的联系,他们之间通过namespace关联,即

add element use element

XSD文件-------------------------->namepsae--------------------------->XML文件

3.1 Xsd指定目标命名空间

Xsd文件:

targetNamespace=””

xmlns=”” elementFormDefault="qualified">

xml引用

xmlns:xsi=”/2001/XMLSchema-instance”

xsi:schemaLocation=" ">

xml缺省命名空间声明xmlns="值"就是和声明的XML Schema的命名空间相结合来规定该XML文档。

xmlns:xsi=”/2001/XMLSchema-instance”定义一个Schema的实例命名空间。只有作了这个定义才能使用schemaLocation属性。

使用小结

文件中targetNamespace="urn:MyNamespace"

Xml引用

xmlns:xsi=”/2001/XMLSchema-instance” xmlns="urn:MyNamespace"

xsi:schemaLocation="urn:MyNamespace空格">

3.2 Xsd没指定目标命名空间

Xsd文件:

< schema xmlns =”/2001/XMLSchema”

elementFormDefault="qualified">

xml引用

xsi:noNamespaceSchemaLocation="">

与xml在同一目录或者相对路径目录。

3.3 Xml引用xsd实例

此文件包含对 XML Schema 的引用:

xmlns:xsi="/2001/XMLSchema-instance"

xsi:schemaLocation=" ">

下面代码片段

xmlns=""

规定了XML默认命名空间的声明。此声明告知schema验证器,在此XML文档中使用的所有元素都被声明于 "" 这个命名空间。

下面代码片段

xmlns:xsi="/2001/XMLSchema-instance"

定义一个Schema的实例命名空间,(只有作了这个定义才能使用schemaLocation属性)您就可以使用 schemaLocation 属性了。

xsi:schemaLocation=" "

因为我们已经定义了xsi命名空间所以可以使用schemaLocation属性了。此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置。schemaLocation属性由成对的值组成可以有多对。(因为一个XML文档可以有多个命名空间,所以schemaLocation值可以有多对)

方式一

xsi:schemaLocation=

方式二

xsi:schemaLocation="/schema/beans

/schema/beans/">

方式三

xsi:noNamespaceSchemaLocation="E:">

3.4 小结

主要区别一:指定命名空间

带命名空间的XSD文件要指定命名空间targetNamespace的值。同样xml文件也要设置该命名空间xmlns;不带命名空间时XSD文件和xml文件都不用设置。

主要区别二:xml设置XSD验证的方式不一样

带命名空间的xml用 schemaLocation="命名空间 xsd文件" 设置不带命名空间的使用noNamespaceSchemaLocation="xsd"文件设置。

小结:无论是xsi :schemaLocation="命名空间 xsd文件" 还是noNamespaceSchemaLocation="xsd文件"都是指的是相对路径。但是不管有没有自定义命名空间,xml和xsd文件都建议放在同一目录下。

找不到xsd文件报错如下:

Unable to load a schema with target namespace '' from ''.


本文标签: 空间 命名 元素 属性 使用

更多相关文章

C语言 第一阶段作业

4月前

年月日发(作者:软件开发需要学什么内容)第一阶段作业(客观题)返回上一级单选题(共题,每题分).下列变量名中合法的是______。..._.我的答案:未做答参考答案:答案解析:详见第章-常量、数据的存储与数据类型,标识符的命名规则:()只能

程序的设计基础_基于C语言第2版课后复习题参考答案

4月前

年月日发(作者:空心圆符号)....习题参考答案.解释以下术语()计算机软件:计算机软件是一系列按照特定结构组织的程序、数据()和文档()的集合。()计算机程序:用计算机语言所编写的一系列指令的集合。()数据:数据是程序加工和处理的对象。(

软件开发工具试题大题答案)

4月前

年月日发(作者:公式锁定)(一)三、简答题(本大题共小题,每小题分,共分).什么是过程化程序设计语言?答案:第三代程序设计语言一般都是过程化语言,即需要由编写程序的人一步一步地安排好机器的执行次序,虽然不是一对一地指挥到机器指令,但是还必须

Python语言程序设计基础智慧树知到答案章节测试2023年南华大学_

4月前

年月日发(作者:模块建房屋顶施工方案)第一章测试.语言是由哪个人创造的?()::::答案:.这个单词是什么含义?():蟒蛇:喵星人:袋鼠:石头答案:.是一种跨平台、开源、免费的高级动态编程语言。():对:错答案:.语言是个非常年轻的语言,但

程序设计语言:编译原理(第3版)

4月前

年月日发(作者:网页特效源代码)程序设计语言:编译原理(第版)•目录:•第一章引论•.什么叫编译程序•.编译过程概述•.编译程序的结构•.编译程序与程序设计环境•.编译程序的生成•第二章高级语言及其语法描述•.程序语言的定义•.高级语言的一

C盘满了怎么清理C盘空间?用这招清理方法 C盘立马变干净了

3月前

C盘满了怎么清理C盘空间&#xff1f;用这招清理方法 C盘立马变干净了 在日常使用电脑的过程中&#xff0c;C 盘满了是许多人都会遇到的头疼问题。它不仅可能导致电脑运行速度变慢&#xff0c;还会在关键时刻影响

计算机如何配置桌面显示属性,WindowsXP显示属性的设置教程

3月前

WindowsXP显示属性的设置教程 计算机属性系配置信息显示不出来怎么解决,以下是小编跟大家介绍WindowsXP显示属性的设置教程&#xff0c;欢迎大家阅读! 显示属性的设置 Windows桌面的背景、屏幕外观、屏幕保护等&a

如何将其他盘的空闲空间转移给C盘(C盘的扩容)

3月前

文章目录 如何将其他盘的空闲空间转移给C盘&#xff08;C盘的扩容&#xff09;前言&#xff1a;具体操作&#xff1a; 如何将其他盘的空闲空间转移给C盘&#xff08;C盘的扩容&#

有检查物理开关、使用注册表编辑器、使用磁盘属性、使用磁盘管理工具、格式化U盘、使用USBOOT程序、关闭U盘写保护开关等方法。

3月前

检查物理开关 有些U盘配备有物理写保护开关。如果您发现U盘被写保护&#xff0c;可以先检查U盘的外壳&#xff0c;看看是否有物理写保护开关。如果有的话&#xff0c;只需将开关移动到“解除写保护”的位置&

刚装的系统C盘占空间特别大怎么办?关闭win7的系统还原和调整虚拟内存

3月前

刚装的win7系统&#xff0c;C盘占空间特别大&#xff0c;清理垃圾&#xff0c;清理碎片之后还是特别大&#xff0c;检查一下&#xff0c;系统才20G&#xff0c;C盘却占用了

VMWare ESXi thin磁盘空间回收,精简置备空间回收

3月前

转载是为了更好的记录&#xff0c;省得以后需要时还得到处理&#xff01;略做补充&#xff01; 背景&#xff1a;ESXi 容量只剩几个GB了&#xff0c;登上ESXi看看空间&#x

Ps:颜色模型、色彩空间及配置文件

3月前

颜色模型、色彩空间和配置文件是处理颜色的核心概念。它们虽然互相关联&#xff0c;但各自有不同的功能和作用。 通过理解这些概念及其关系&#xff0c;Photoshop 用户可以更好地管理和优化图像处理流程&#xff

计算机PS属性怎么改,电脑不用ps怎么改图片分辨率 教你修改图片分辨率的方法...

3月前

在网络生活中经常需要上传图片&#xff0c;可是网络上图片有限制的&#xff0c;需要调整一下图片分辨率&#xff0c;网上有很多调节方法&#xff0c;其中ps软件虽说很好用&#xff0c;但要下载

对C盘可用空间有些强迫的咋办???(笔者自己电脑操作,蛮看)

3月前

C盘又要满了怎么办? 大家好! 这是我第一次写这样的内容。本身呢,我也没想写,太浪费时间和精力了,但是这几年用Windows10实在是有点难顶。现在的Windows10升级更新做的也是碎片化,一不注意呢,不是C盘爆红,就是被吃了多少G进去

【2025】C盘满了怎么清理?C盘空间不足的解决方法与优化指南 #c盘满了怎么清理c盘空间#C盘清理#C盘清理教程#C盘清理干净

2月前

目录 C盘空间不足的影响 C盘空间不足的常见原因 清理C盘空间的方法 方法一&#xff1a;使用Windows自带的磁盘清理工具 方法二&#xff1a;清理临时文件和缓存 方法三&#xff1a;卸载不必要

磁盘驱动器中的属性中的卷没有信息怎么办?出现找不到这个磁盘的卷信息

2月前

前提&#xff1a;电脑中的硬盘和插入的U盘并没有出现什么问题&#xff0c;都是正常可使用的。 原因1&#xff1a; 没有点击“写入” 注意&#xff1a;如果你没有给硬盘分区的话&#xff0c

windows+ubuntu双系统分区步骤的踩坑记录(未分配空间解决)

2月前

在双系统分区时&#xff0c;要从已有磁盘中分出一些空间来安装新系统。要特别注意几点 1、首先要注意自己的硬盘是基本硬盘还是动态硬盘&#xff0c;动态硬盘是不可以分出空间来装系统的。 区分办法&#xff0c;右键

win7计算机右键属性桌面进程重启,Win764位系统电脑自动重启的分析与解决步骤...

2月前

Win764位系统电脑自动重启的分析与解决步骤 系统失败导致自动重启 1、在桌面上“我的电脑”鼠标右键&#xff0c;弹出的快捷菜单单击“属性”命令。 2、打开“系统属性”窗口&#xff0c;切换到“高级”选项卡&#

双击计算机文档,电脑双击文件都是打开属性窗口怎么办

1月前

电脑双击文件都是打开属性窗口怎么办 电脑双击文件都是打开属性窗口怎么办?不知道电脑怎么回事&#xff0c;双击文件后显示的都是属性窗口&#xff0c;该怎么办呢?下面小编分享电脑鼠标双击文件都是打开属性窗口的解决办法&

C盘空间不足变红?教你4种有效清理C盘的方法

1月前

当C盘使用空间超过其总容量的90%时&#xff0c;系统会将存储条标为红色&#xff0c;提示用户需要尽快进行清理。否则&#xff0c;这可能会导致系统运行速度变慢&#xff0c;甚至引发电脑卡顿或崩溃。下面

发表评论

全部评论 0
暂无评论