输入 XML:
<Green>
<Fruits>Apple</Fruits>
<Vegetables>
<1>Beans</1>
<2>Carrot</2>
</Vegetables>
<LivingThings @Type = Bird>Parrot</LivingThings>
<NonLivingThings>Car</NonLivingThings>
</Green>
我想检查 Root 'Green' 下的所有 Field 元素是否存在且不为空。
我需要为每个错误抛出两个不同的异常:
对于不存在的字段 - 字段不存在;对于空值 - 不是有效值
IF(FIELDTYPE(ref.fruits)IS NULL OR FIELDTYPE(ref.Vegetables)IS NULL OR FIELDTYPE(ref.livingthins)IS NULL OR
FIELDTYPE(ref.nonlivingthing)IS NULL) THEN
Throw USER EXCEPTION MESSAGE 2000 VALUES ('Field Not Present');
ELSEIF(FIELDVALUE(ref.fruits)= '' OR FIELDVALUE(ref.Vegetables)= '' OR FIELDVALUE(ref.livingthins)= '' OR
FIELDVALUE(ref.nonlivingthing)= '') THEN
Throw USER EXCEPTION MESSAGE 2004 VALUES ('Invalid Value');
ELSE
Propagate to terminal 'out1';
END IF;
这是解决方案,但我需要将空或空的确切字段连接到我的异常消息。