第三十章 控制到 XML 模式的映射 - Array of Classname

2023-12-11 09:12

本文主要是介绍第三十章 控制到 XML 模式的映射 - Array of Classname,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第三十章 控制到 XML 模式的映射 - Array of Classname
  • `Array of Classname`

第三十章 控制到 XML 模式的映射 - Array of Classname

Array of Classname

本部分显示了从启用 XML 的类生成的XML 架构的一部分,此时该类包含定义为类名数组的属性。例如,考虑以下属性定义:

Property PropName As array Of %Integer(XMLITEMNAME = "MyXmlItemName", XMLKEYNAME = "MyXmlKeyName");

如果此属性位于名为 Test.DemoArray1 的启用 XML 的类中,则该类的 XML 架构包含以下内容:

<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:s="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="mytypes"><complexType name="DemoArray1"><sequence><element minOccurs="0" name="PropName" type="s01:ArrayOfMyXmlItemNamePairOfMyXmlKeyNameLong" xmlns:s01="mytypes"/></sequence></complexType><complexType name="ArrayOfMyXmlItemNamePairOfMyXmlKeyNameLong"><sequence><element maxOccurs="unbounded" minOccurs="0" name="MyXmlItemName" nillable="true" type="s01:PairOfMyXmlKeyNameLong" xmlns:s01="mytypes"/></sequence></complexType><complexType name="PairOfMyXmlKeyNameLong"><simpleContent><extension base="s:long"><attribute name="MyXmlKeyName" type="s:string" use="required"/></extension></simpleContent></complexType>
...
</schema>

以下规则管理类型的名称:

  • 对于 PropName 属性,相应的类型被命名为 ArrayOfXMLItemNamePairOfXMLKeyNameType,其中:

    • XMLItemName 是集合中项目的名称,如控制数组类型属性的元素和属性名称中所述。对于数据类型属性,默认项目名称是在属性名称末尾附加 Item 的名称。 (对于对象属性,默认项名称是短类名称。)
    • XMLKeyName 是集合的键名称,如控制数组类型属性的元素和属性名称中所述。默认为属性名称,末尾连接有 Key
    • Type 是属性类映射到的 XML 类型。
    <element minOccurs="0" name="PropName" type="s01:ArrayOfMyXmlItemNamePairOfMyXmlKeyNameLong" xmlns:s01="mytypes"/>
    

    注意:如果 XMLKeyNameType 相同,则对于 PropName 属性,相应的类型将命名为 ArrayOfXMLItemNamePairOfXMLKeyName。即,从类型名称中删除冗余数组项。要使类型名称包含冗余名称,请将( %XML.Schema实例)AllowRedundantArrayName 属性指定为 1。同样,在 Web 服务类中,要在类型中包含冗余数组项名称在 WSDL 中,将(Web 服务类的)ALLOWREDUNDANTARRAYNAME 参数指定为 1

  • 类型 ArrayOfXMLItemNamePairOfXMLKeyNameType 被定义为另一种类型的 <sequence>,名为 PairOfXMLKeyNameType

     <complexType name="ArrayOfMyXmlItemNamePairOfMyXmlKeyNameLong">
    <sequence><element maxOccurs="unbounded" minOccurs="0" name="MyXmlItemName" nillable="true" type="s01:PairOfMyXmlKeyNameLong" xmlns:s01="mytypes"/>
    </sequence>
    </complexType>
  • PairOfXMLKeyNameType 类型是给定 XSD 类型的扩展。此扩展添加了一个名为 XMLKeyName 的属性:

      <complexType name="PairOfMyXmlKeyNameLong">
    <simpleContent><extension base="s:long"><attribute name="MyXmlKeyName" type="s:string" use="required"/></extension>
    </simpleContent>
    </complexType>
    

Classname 引用对象类时,适用相同的规则。例如,考虑以下属性定义:

Property PropName As %ArrayOfObjects(XMLITEMNAME = "MyXmlItemName", XMLKEYNAME = "MyXmlKeyName");

其中 Simple.Object 包含两个属性:MyPropAnotherProp。如果此属性位于名为 Test.DemoObjArray 的启用 XML 的类中,则该类的 XML 架构包含以下内容:

<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:s="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 
targetNamespace="mytypes"><complexType name="DemoObjArray"><sequence><element minOccurs="0" name="PropName" type="s01:ArrayOfMyXmlItemNamePairOfMyXmlKeyNameSimpleObject" xmlns:s01="mytypes"/></sequence></complexType><complexType name="ArrayOfMyXmlItemNamePairOfMyXmlKeyNameSimpleObject"><sequence><element maxOccurs="unbounded" minOccurs="0" name="MyXmlItemName" nillable="true" type="s01:PairOfMyXmlKeyNameSimpleObject" xmlns:s01="mytypes"/></sequence></complexType><complexType name="PairOfMyXmlKeyNameSimpleObject"><complexContent><extension base="s01:SimpleObject" xmlns:s01="mytypes"><attribute name="MyXmlKeyName" type="s:string" use="required"/></extension></complexContent></complexType><complexType name="SimpleObject"><sequence><element minOccurs="0" name="MyProp" type="s:string"/><element minOccurs="0" name="AnotherProp" type="s:string"/></sequence></complexType>
</schema>

这篇关于第三十章 控制到 XML 模式的映射 - Array of Classname的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC