第十四章 控制值的转换 - 在DISPLAYLIST中投影值

在DISPLAYLIST中投影值

对于 %String 类型(或任何子类)的属性,XML 投影可以使用 DISPLAYLIST 参数。

简单属性可以指定 DISPLAYLISTVALUELIST 参数。 VALUELIST 参数指定属性的可能值列表;这定义了一个枚举属性。通常,还指定 DISPLAYLIST 参数,该参数指定要显示的相应值。

默认情况下,XML 投影使用对象中包含的值,该值是 VALUELIST 指定的值之一。对于 %String 类型的属性,XMLLISTPARAMETER 参数旨在指示哪个参数包含要在投影中使用的替代值列表。通常,将其设置为“DISPLAYLIST”。例如,考虑以下数据类型类:

Class xmldisplaylist.MyEnumString Extends %String
{

Parameter VALUELIST = ",a,b,c";

Parameter DISPLAYLIST = ",apples,bananas,chocolate";

Parameter XMLLISTPARAMETER = "DISPLAYLIST";

}

另请考虑以下类,它使用前面的数据类型类:

Class xmldisplaylist.Demo Extends (%RegisteredObject, %XML.Adaptor)
{

Property Property1 As MyEnumString;

Property Property2 As MyEnumString(DISPLAYLIST = ",red,green,blue", VALUELIST = ",r,g,b");

}

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

<Demo>
  <Property1>chocolate</Property1>
  <Property2>red</Property2>
</Demo>

相反,如果数据类型类未指定 XMLLISTPARAMETER 参数,则 XML 表示形式将如下所示:

<Demo>
  <Property1>c</Property1>
  <Property2>r</Property2>
</Demo>
12-02 00:28