第二十二章 指定元素和属性的命名空间 - 指定被视为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

相关文章

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

Python之变量命名规则详解

《Python之变量命名规则详解》Python变量命名需遵守语法规范(字母开头、不使用关键字),遵循三要(自解释、明确功能)和三不要(避免缩写、语法错误、滥用下划线)原则,确保代码易读易维护... 目录1. 硬性规则2. “三要” 原则2.1. 要体现变量的 “实际作用”,拒绝 “无意义命名”2.2. 要让

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

MySQL8.0临时表空间的使用及解读

《MySQL8.0临时表空间的使用及解读》MySQL8.0+引入会话级(temp_N.ibt)和全局(ibtmp1)InnoDB临时表空间,用于存储临时数据及事务日志,自动创建与回收,重启释放,管理高... 目录一、核心概念:为什么需要“临时表空间”?二、InnoDB 临时表空间的两种类型1. 会话级临时表

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2