由于源 XML
文档可能包含意外的元素和属性,因此支持 XML
的类提供两个参数来指定导入此类文档时如何反应。例如,考虑以下类定义:
Class GXML.TestImportParms.Person Extends (%Persistent,%XML.Adaptor)
{
Property Name As %Name [ Required ];
Property DOB As %Date(FORMAT = 5, MAXVAL = "+$h") [ Required ];
}
另请考虑以下 XML
文档:
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Person employeeID="450">
<Name>Dillard, Daniel</Name>
<DOB>1962-09-18</DOB>
<UserID>fr0078</UserID>
<Address>
<Street>810 Main Street</Street>
<City>Reston</City>
<State>NJ</State>
<Zip>02641</Zip>
</Address>
</Person>
</Root>
employeeID
属性和 <Address>
元素与类中的属性不对应,因此是意外的。
要指定如何处理意外的属性和元素,请使用支持 XML
的类的以下参数:
XMLIGNOREINVALIDATTRIBUTE
控制如何处理意外属性。如果此参数为 1
(默认值),则忽略此类属性。如果为0
,则视为错误,导入失败。
XMLIGNOREINVALIDTAG
控制如何处理意外元素。如果此参数为 1
,则忽略此类元素。如果为 0
(默认值),则它们被视为错误,并且导入失败。
这些参数仅影响导入。
注意:xmlns
属性、数组键名称属性和架构实例 (xsi
) 属性始终被忽略。此外,如果 XMLSEQUENCE
为 1
,则忽略 XMLIGNOREINVALIDTAG
参数。