美文网首页
第三章 将对象映射到 XML - 使用列表或数组定义的属性

第三章 将对象映射到 XML - 使用列表或数组定义的属性

作者: Cache技术分享 | 来源:发表于2023-11-12 07:57 被阅读0次

第三章 将对象映射到 XML - 使用列表或数组定义的属性

使用列表或数组定义的属性

对于使用语法 Property PropName As List of classnameProperty PropName As Array of classname 定义的每个属性,请执行以下操作:

  • 如果 classname 是对象类,则对该类启用 XML。即, %XML.Adaptor 添加到类名的超类列表中。
  • 如果 classname 是数据类型类,则无需执行任何操作。
  • 如果 classname 是流类,并且属性是列表,则不需要任何工作。流被映射为 XML 作为字符串。

注意:IRIS 不支持将流数组映射到 XML。如果对象具有定义为流数组的属性,请为该属性包含 XMLPROJECTION="none"

Class MyApp.MyXMLObject Extends (%RegisteredObject, %XML.Adaptor)
{
Property MyListOfObjects As list Of MyApp.OtherXMLObject;

Property MyArrayOfObjects As array Of MyApp.OtherXMLObject;

Property MyListOfDT As list Of %String;

Property MyArrayOfDT As array Of %String;

Property MyListOfStreams As list Of %GlobalCharacterStream;

Property MyArrayOfStreams As array Of %GlobalCharacterStream(XMLPROJECTION = "NONE");
}

%ListOfDataTypes%ArrayOfDataTypes 类型的属性

XML 工具自动将%ListOfDataTypes 类型的属性或 %ArrayOfDataTypes 类型的属性映射为容器。默认情况下,容器包含字符串元素。

如果需要正确的 XML 架构,并且假设元素是字符串不合适,则创建并使用集合类的子类。在子类中,指定 ELEMENTTYPE 类参数。例如:

Class MyApp.MyIntegerCollection Extends %ListOfDataTypes
{
Parameter ELEMENTTYPE="%Library.Integer";

}

对于 ELEMENTTYPE,指定集合中使用的类的完整包和类名。

%ListOfObjects%ArrayOfObjects 类型的属性

XML 工具自动将 %ListOfObjects 类型的属性映射为属性,或将 %ArrayOfObjects 类型的属性映射为容器。然而,有必要使集合中使用的类支持 XML。

对于类型为 %ArrayOfObjects 的属性,集合中使用的类不能是流类。

如果需要完整的 XML 架构,则必须指定集合的元素类型。为此,请创建并使用集合类的子类。在子类中,指定 ELEMENTTYPE 类参数,如上一节所示。

相关文章

  • JS进阶篇-深拷贝与浅拷贝

    一、浅拷贝 在定义一个对象或数组时,变量存放的往往是一个引用地址。当我们使用对象拷贝时,如果属性是对象或数组时这是...

  • iOS_数据存储

    PList(XML属性列表) 属性列表是一种 XML 格式的文件,扩展名为 plist 。 如果对象时 NSArr...

  • ng-options让下拉框更简单

    ng-options 属性可以在表达式中使用数组或对象来自动生成一个 select 中的 option 列表。 n...

  • 【Vue】列表渲染与事件处理

    1. 列表渲染 使用v-for指令基于数组或对象来渲染一个列表 使用v-for迭代或遍历一个数组 使用v-for迭...

  • es6学习笔记 - 解构赋值

    什么是解构赋值 解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。这种赋值语法极度简洁,...

  • (笔记)ES6解构 Destructuring

    什么是解构赋值? 解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。这种赋值语法极度简洁...

  • JS的深浅拷贝

    浅拷贝 前面已经提到,在定义一个对象或数组时,变量存放的往往只是一个地址。当我们使用对象拷贝时,如果属性是对象或数...

  • ES6-解构赋值

    语法 可以将值从数组或属性从对象提取到不同的变量中。 表达式左边定义了要从原变量中取出什么变量。 解构数组 数组解...

  • js重学7—数组自定义属性prototype

    prototype属性可以为数组对象添加自定义的属性或方法 参数: name 要添加的属性名或方法名 value添...

  • 数据持久化

    属性列表 NSUserDefaultplist文件是将某些特定的类,通过XML文件的方式保存在目录中 对象归档 S...

网友评论

      本文标题:第三章 将对象映射到 XML - 使用列表或数组定义的属性

      本文链接:https://www.haomeiwen.com/subject/bfblwdtx.html