第七章 将对象映射到 XML - 指定 XML 摘要

文章目录

  • [第七章 将对象映射到 XML - 指定 XML 摘要](#第七章 将对象映射到 XML - 指定 XML 摘要)
  • [指定 XML 摘要](#指定 XML 摘要)

第七章 将对象映射到 XML - 指定 XML 摘要

指定 XML 摘要

当类用作属性时,可以轻松指定要映射到 XML 的类的哪些属性:

  • 在类中,将 XMLSUMMARY 类参数指定为要映射到 XML 的属性的逗号分隔列表,其大小写与类定义中使用的大小写完全相同。请注意,XMLSUMMARY 不能包含伪属性 IDOID

除非还指定以下一个或两个参数,否则此参数无效。

  • 在同一个类中,可以选择将 XMLDEFAULTREFERENCE 指定为"SUMMARY"或"COMPLETE"(默认值);这些值不区分大小写。选项"SUMMARY"意味着当此类用作属性时,只有在 XMLSUMMARY 中列出的属性才应在映射中使用。选项"COMPLETE"意味着应使用具有 XML 映射的所有属性。

这些值不区分大小写。

  • 在使用此类作为属性的类中,可以选择将 XMLREFERENCE 属性参数指定为"SUMMARY"或"COMPLETE"(默认值);这些值不区分大小写。这会覆盖 XMLDEFAULTREFERENCE 类参数。

只能为值为对象的属性设置此属性参数。

例如,考虑以下 Address 类:

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

Parameter XMLSUMMARY = "City,ZipCode";

Parameter XMLDEFAULTREFERENCE = "SUMMARY";

Property Street As %String;

Property City As %String;

Property State As %String;

Property ZipCode As %String;

}

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

java 复制代码
<Address>
  <Street>47 Winding Way</Street>
  <City>Middlebrook</City>
  <State>GA</State>
  <ZipCode>50291</ZipCode>
</Address>

请注意,所有属性都包含在内。

现在考虑另一个使用 Address 类作为属性的类:

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

Property Name As %String;

Property Address as Address;

}

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

xmll 复制代码
<Person>
  <Name>Penelope Farnsworth</Name>
  <Address>
    <City>Middlebrook</City>
    <ZipCode>50291</ZipCode>
  </Address>
</Person>

此处,由于 Address 类是该类的属性,因此使用 XMLSUMMARYXMLDEFAULTREFERENCE 参数,并且在映射中仅使用 XMLSUMMARY 中列出的类属性。

可以使用"COMPLETE"选项强制覆盖。例如,以下类也使用 Address 类作为属性,但将 XMLREFERENCE 指定为"COMPLETE":

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

Property Name As %String;

Property Address As Address(XMLREFERENCE = "COMPLETE");

}

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

xml 复制代码
<Employee>
  <Name>Malcom Winters</Name>
  <Address>
    <Street>770 Enders Lane</Street>
    <City>Middlebrook</City>
    <State>GA</State>
    <ZipCode>50293</ZipCode>
  </Address>
</Employee>

包含所有具有 XML 映射的属性;在这种情况下,这意味着所有属性都包含在内。

相关推荐
Lucky_Turtle14 小时前
【Java Xml】Apache Commons Digester3解析
xml·java·apache
莫陌尛.18 小时前
xml 方式声明式事务案例
xml
m0_728033131 天前
JavaWeb——(web.xml)中的(url-pattern)
xml·前端
有梦想的攻城狮2 天前
Maven中的settings.xml文件配置详解
xml·java·maven·settings.xml
诸神缄默不语4 天前
Maven用户设置文件(settings.xml)配置指南
xml·java·maven
lang201509284 天前
MyBatis Mapper XML 核心详解
xml·mybatis
YxVoyager5 天前
Qt C++ :XML文件处理工具 <QXml>模块
xml·c++·qt
天若有情67310 天前
Spring配置文件XML验证错误全面解决指南:从cvc-elt.1.a到找不到‘beans‘元素声明
xml·java·spring
私人珍藏库11 天前
[Windows] 发票识别工具。支持xml、pdf、ofd文件
xml·pdf
Derrick__112 天前
Python常用内建模块——XML
xml·python