Я работаю с RTF-шаблоном PeopleSoft BI Publisher и буду работать с XML-документом с несколькими строками, как показано ниже:
<?xml version='1.0'?>
<query numrows="3" queryname="GH3_HRS_OFFER_DS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
<row rownumber="1">
<A.ERNCD/>
<A.EARNS_AMT>0</A.EARNS_AMT>
<A.OFFER_COMPONENT><![CDATA[BASSAL]]></A.OFFER_COMPONENT>
</row>
<row rownumber="2">
<A.ERNCD/>
<A.EARNS_AMT>0</A.EARNS_AMT>
<A.OFFER_COMPONENT><![CDATA[PROB]]></A.OFFER_COMPONENT>
</row>
<row rownumber="3">
<A.ERNCD/>
<A.EARNS_AMT>0</A.EARNS_AMT>
<A.OFFER_COMPONENT><![CDATA[SIGNON]]></A.OFFER_COMPONENT>
</row>
</query>
Что мне нужно сделать, так это отобразить 1-й абзац, если в данных есть строка с OFFER_COMPONENT = 'PROB'
, и я думаю, что это работает нормально для первого абзаца.
Однако я хочу, чтобы это функционировало так, чтобы отображался либо первый абзац выше, либо или второй абзац (<?if@inlines:A.OFFER_COMPONENT<>'PROB'?>
), но не оба.
Я не думаю, что то, как я закодировал второй абзац <?if@inlines:A.OFFER_COMPONENT<>'PROB'?>
), предотвратит отображение этого абзаца, поскольку, как только он встретит строку со значением, отличным от 'PROB'
, он также отобразит этот абзац. Я хочу иметь возможность проверить наличие внутри группы (несколько строк) поля A.OFFER_COMPONENT ='PROB'
. Если одна из строк для этого поля содержит «PROB», тогда я НЕ хочу, чтобы отображался второй абзац.
Я посмотрел в Интернете и не нашел способа проверить существование значения поля в нескольких строках, поэтому, если кто-нибудь знает способ сделать это, я был бы признателен. Заранее спасибо!