对于每个对象值属性,默认 XML
映射由一个 XML
元素(表示对象本身)和表示该对象属性的子元素或属性组成,由该对象类中的 XML 映射选项控制。
注意:后面的部分讨论以下特殊的对象值属性:集合、关系和流。
要控制对象属性的映射方式,请设置该属性的 XMLPROJECTION
参数,如下所示:
XMLPROJECTION
对对象属性的影响
Value of XMLPROJECTION | Effect on Collection Properties |
---|---|
"WRAPPED" | 该属性被映射为具有子元素的元素。该元素对应于对象类。每个子元素对应于该类的一个属性。这是对象属性(流除外)的默认值。 |
"ELEMENT" | 对象类的每个属性都被映射为一个元素,而不是包装在父元素中。 |
"NONE" | 该属性不会投影为 XML 。 |
"ATTRIBUTE", "XMLATTRIBUTE", or "CONTENT" | 编译时错误。 |
例如,考虑以下类:
Class Basics.ObjectPropsDemo Extends (%RegisteredObject, %XML.Adaptor)
{
Property Object1 As SimpleObject(XMLPROJECTION = "wrapped");
Property Object2 As SimpleObject(XMLPROJECTION = "element");
}
下面显示了此类实例的 XML
表示形式的示例:
<ObjectPropsDemo>
<Object1>
<SimpleObject>
<MyProp>abcdefMyProp>
<AnotherProp>qrstuvAnotherProp>
SimpleObject>
Object1>
<Object2>
<MyProp>abcdefMyProp>
<AnotherProp>qrstuvAnotherProp>
Object2>
ObjectPropsDemo>