第二十二章 指定元素和属性的命名空间 - 指定被视为Global元素的对象的命名空间

本文主要是介绍第二十二章 指定元素和属性的命名空间 - 指定被视为Global元素的对象的命名空间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第二十二章 指定元素和属性的命名空间 - 指定被视为`Global`元素的对象的命名空间
  • 指定被视为`Global`元素的对象的命名空间
  • 指定映射为元素的属性的命名空间
    • 案例`1`:属性被视为本地元素
    • 案例`2`:属性被视为`Global`元素

第二十二章 指定元素和属性的命名空间 - 指定被视为Global元素的对象的命名空间

指定被视为Global元素的对象的命名空间

如果在顶层导入或导出启用 XML 的对象,该对象将成为Global元素并被分配给命名空间,如下所示:

  • 如果指定了类的 NAMESPACE 参数,则该元素将分配给该名称空间。
  • 如果未指定类的 NAMESPACE 参数,则该元素不属于任何命名空间。但是,可以在导出期间指定命名空间。请参阅使用 XML 工具中的从对象写入 XML 输出。

例如,考虑以下类定义:

Class MyApp.Person Extends (%Persistent, %XML.Adaptor)
{
Parameter NAMESPACE = "http://www.person.org";Property Name As %Name [ Required ];Property DOB As %Date(FORMAT = 5, MAXVAL = "+$h") [ Required ];
}

如果导出或导入此类的对象,映射可能如下所示:

<Person xmlns="http://www.person.org"><Name>Isaacs,Rob G.</Name><DOB>1981-01-29</DOB>
</Person>

指定映射为元素的属性的命名空间

本节介绍如何为映射为元素的属性指定命名空间。

案例1:属性被视为本地元素

如果在顶层导入或导出启用 XML 的对象,则默认情况下映射为元素的任何属性都会成为本地元素。这些本地元素有两种可能的命名空间分配:

  • 如果父类的 ELEMENTQUALIFIED 类参数为 1,则本地元素是限定的,并且它们显式包含在其父元素的命名空间中。

在这里插入图片描述

  • 如果父类的 ELEMENTQUALIFIED 类参数为 0,则本地元素是不合格的,并且它们不属于任何命名空间。 (但是,可以在导出期间指定命名空间。请参阅使用 XML 工具中的从对象写入 XML 输出。)

在这里插入图片描述

请注意,在这两种情况下,子类中的命名空间都会被忽略。

注意:ELEMENTQUALIFIED 的默认值取决于输入或输出是文字格式还是编码格式。文字格式是默认且最常见的格式。

对于文字格式,ELEMENTQUALIFIED 默认为 1。对于编码格式,ELEMENTQUALIFIED 默认为 0

案例2:属性被视为Global元素

可以将属性设置为Global元素,并将其分配给名称空间。为此,将XMLREF属性参数设置为1。下面描述了如何将相应的元素分配给名称空间:

  1. 如果指定了REFNAMESPACE属性参数,则元素在该命名空间中。

在这里插入图片描述

  1. 否则,元素被分配给命名空间,如下所示:

a. 如果属性是类型并指定XSDTYPE类参数,则元素位于父类的名称空间中。

b. 否则,如果属性类定义了NAMESPACE类参数,则元素位于属性类的名称空间中。

c. 如果属性类没有定义这两个类参数中的任何一个,则元素不在名称空间中。

在这里插入图片描述

注意:XMLREF属性参数取代XMLELEMENTREF属性参数。但是,将无限期地支持XMLELEMENTREF参数。

这篇关于第二十二章 指定元素和属性的命名空间 - 指定被视为Global元素的对象的命名空间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/445856

相关文章

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处