第六章 将对象映射到 XML - 控制对象值属性的映射形式

文章目录

第六章 将对象映射到 XML - 控制对象值属性的映射形式

控制对象值属性的映射形式

对于每个对象值属性,默认 XML 映射由一个 XML 元素(表示对象本身)和表示该对象属性的子元素或属性组成,由该对象类中的 XML 映射选项控制。

注意:后面的部分讨论以下特殊的对象值属性:集合、关系和流。

指定对象值属性的映射形式

要控制对象属性的映射方式,请设置该属性的 XMLPROJECTION 参数,如下所示:

XMLPROJECTION 对对象属性的影响

Value of XMLPROJECTION Effect on Collection Properties
"WRAPPED" 该属性被映射为具有子元素的元素。该元素对应于对象类。每个子元素对应于该类的一个属性。这是对象属性(流除外)的默认值。
"ELEMENT" 对象类的每个属性都被映射为一个元素,而不是包装在父元素中。
"NONE" 该属性不会投影为 XML
"ATTRIBUTE", "XMLATTRIBUTE", or "CONTENT" 编译时错误。

例如,考虑以下类:

java 复制代码
Class Basics.ObjectPropsDemo Extends (%RegisteredObject, %XML.Adaptor)
{

Property Object1 As SimpleObject(XMLPROJECTION = "wrapped");

Property Object2 As SimpleObject(XMLPROJECTION = "element");

}

下面显示了此类实例的 XML 表示形式的示例:

xml 复制代码
<ObjectPropsDemo>
  <Object1>
    <SimpleObject>
      <MyProp>abcdef</MyProp>
      <AnotherProp>qrstuv</AnotherProp>
    </SimpleObject>
  </Object1>
  <Object2>
    <MyProp>abcdef</MyProp>
    <AnotherProp>qrstuv</AnotherProp>
  </Object2>
</ObjectPropsDemo>
相关推荐
sleeppingfrog3 小时前
zebra打印机实现前端打印
前端
摇滚侠3 小时前
前端判断不等于 undefined 不等于 null 的方法
前端
DFT计算杂谈4 小时前
VASP+Wannier90 计算位移电流和二次谐波SHG
java·服务器·前端·python·算法
zhougl9964 小时前
Vue 中使用 WebSocket
前端·vue.js·websocket
无名的小白4 小时前
openclaw使用nginx反代部署过程 与disconnected (1008): pairing required解决
java·前端·nginx
2601_949857434 小时前
Flutter for OpenHarmony Web开发助手App实战:文本统计
前端·flutter
光影少年4 小时前
智能体UI ux pro max
前端·ui·ux
半梅芒果干4 小时前
vue3 实现无缝循环滚动
前端·javascript·vue.js
qq_419854054 小时前
锚点跳转及鼠标滚动与锚点高亮联动
前端
冰敷逆向4 小时前
京东h5st纯算分析
java·前端·javascript·爬虫·安全·web