千家信息网

XML和Schema命名空间的示例分析

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,小编给大家分享一下XML和Schema命名空间的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!例一:重点理解名称空
千家信息网最后更新 2025年02月05日XML和Schema命名空间的示例分析

小编给大家分享一下XML和Schema命名空间的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

例一:重点理解名称空间的相关概念。

下面的例子是一个XML Schema文件,名为"note.xsd"

                                                                         

下面的XML文档和上文给出的XML Schema相关联,名为"note.xml"。并且下文的讨论将围绕这两个文档展开。

ToveJaniReminderDon't forget me this weekend!


此片段:xmlns:xsd="www.w3.org/2001/XMLSchema",表明此schema中使用的元素和数据类型来自于"www.w3.org/2001/XMLSchema"名称空间(namespace)。它同样指出来自于"www.w3.org/2001/XMLSchema"名称空间的元素和数据类型必须使用带"xsd: "前缀。作为名称空间的标识符(在声明中作为元素或属性的前缀),你也可以不使用xsd或xsi。这个 xmlns属性包含了基本的XML schema元素,比如element, attribute, complexType, group, simpleType等。

对于任何一个XML Schema定义文档(XSD)都有一个最顶层的schema (XSD)元素。而且该schema (XSD)元素定义必须包含这个名称空间:www.w3.org/2001/XMLSchema。即此名称空间是由XML模式规范定义的标准名称空间-所有XML模式元素必须属于该名称空间。
此片段:targetNamespace="www.w3schools.com",表明此schema (note, to, from, heading, body)定义的元素来自于"www.w3schools.com"名称空间。这个targetNamespace属性表示了该schema所对应的名称空间的URI。也就是说在引用该Schema的其它文档(包括自身文档)中要声明名称空间,其URI应该是targetNamespace的属性值。例如在这里因为要用到note.xsd自己定义的扩展数据类型(note, to, from, heading, body),所以也声明了名称空间xmlns="www.w3schools.com"。而且该名称空间是默认名称空间(没有前缀)。targetNamespace属性为在模式中显式创建的所有新类型均声明了XML名称空间。

我们再来看由该schema规定的XML文档note.xml的开头将是什么样子:

其中缺省名称空间声明xmlns="www.w3schools.com"就是和刚刚声明的XML Schema的名称空间相结合来规定该XML文档。(即该文档用到了此名称空间中定义的数据) xmlns:xsi="www.w3.org/2001/XMLSchema-instance" 是任何XML实例文档固有的XML模式实例名称空间,它由XML模式规范定义。而xsi:schemaLocation="www.w3schools.com note.xsd"则规定了该名称空间所对应的schema的位置,即在相同路径的note.xsd文件。

例二:重点理解Schema文档使用自身定义类型

xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找。修改一下note.xsd,去除默认名称空间的声明,并添加一个复杂类型:

                                                                    

上述代码中,复杂类型stu是找不到的,因为你定义了一个名称空间"www.w3schools.com",该复杂类型存在于"www.w3schools.com"中,因此应该修改代码如下:

                                                                    

若自身并不使用重用组件,仅供外部使用的话,则只定义targetNameSpace就可以,不用指定别名。
通过上面的例子,我们可以很深刻的理解targetNameSpace。targetNamespace定义了Schema定义的新元素与属性的名称空间。而"www.w3.org/2001/XMLSchema"名称空间则定义了element, attribute, complexType, group, simpleType等元素。

理解了上面的两个例子,Schema的命名空间的内容应该就明了了。

以上是"XML和Schema命名空间的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

空间 名称 元素 文档 类型 属性 模式 数据 文件 面的 复杂 例子 内容 前缀 篇文章 示例 分析 两个 代码 实例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 游戏服务器分区是什么 河南天轩非凡网络技术有限公司 滴滴用谁家服务器 集团软件开发 上海盛也网络技术有限公司简介 encode数据库使用 世界上最大的服务器是什么 西安高新区众联网络技术杨泽飞 大兴区推广软件开发热线 嘉兴华荣网络技术有限公司可靠吗 软件开发小组有哪些 网络安全法在保护个人信息 阿里云自带的数据库 网络安全专业读研方向 大华服务器进bios按哪个键 网络技术学习中心 pes2016服务器 山西软件开发公司 适合软件开发人员的显示器 江苏潮流软件开发参考价格 广东省网络技术好学校有哪些 释放数据库资源 湖南党性体检软件开发公司 无线移动网络技术仿真实验 cs开发指纹仪软件开发 河南第三方软件开发价钱是多少 珠海搬家服务软件开发设计 海警业务一体化软件开发 河北软件开发的公司有哪些 网络安全知识教育演讲稿
0