我有这个结果映射
wb
,结果是
<result element="lot" rowName="lotInfo">
<element column="key_lot" name="lotId" exportType="SCALAR" xsdType="xs:long"/>
<element column="lot_number" name="lotNumber" exportType="SCALAR" xsdType="xs:string"/>
<call-query href="getTradeNameSQL">
<with-param name="TN_CODE" query-param="trade_name"/>
</call-query>
<element column="expiry_date" name="expiryDate" exportType="SCALAR" xsdType="xs:date"/>
<element column="Qte_administre" name="quantiteAdministre" exportType="SCALAR" xsdType="xs:float"/>
<call-query href="getVocabulaireSQL">
<with-param name="TYPE" query-param="unite_mesure_type"/>
<with-param name="VOCABULARY_DOMAIN" query-param="unite_mesure_vocab_domain"/>
<with-param name="CONCEPT_ID" query-param="unite_mesure"/>
</call-query>
<call-query href="getVocabulaireSQL">
<with-param name="TYPE" query-param="ROUTE_ADMIN_type"/>
<with-param name="VOCABULARY_DOMAIN" query-param="ROUTE_ADMIN_vocab_domain"/>
<with-param name="CONCEPT_ID" query-param="ROUTE_ADMIN"/>
</call-query>
<element column="status_lot" name="status" exportType="SCALAR" xsdType="xs:string"/>
</result>
这是正确的。
我的问题是:
正如您所看到的,xml中有两个<lot xmlns="http://ws.wso2.org/dataservice">
<lotInfo>
<lotId>616</lotId>
<lotNumber>C4368AC</lotNumber>
<tradeName>
<tradeNameInfo>
<code>ADACEL</code>
<description>ADACEL</description>
<agents>
<agentInfos>
<id>1002805</id>
<code>SCT_AG0016</code>
<description>dcaT</description>
</agentInfos>
</agents>
</tradeNameInfo>
</tradeName>
<expiryDate>2015-05-31T00:00:00.000-04:00</expiryDate>
<quantiteAdministre>0.5</quantiteAdministre>
<domains>
<domainValue>
<id>493416</id>
<code>INV.UnitOfMeasure2</code>
<description>ml (millilitre)</description>
<type>DosageUnit</type>
</domainValue>
</domains>
<domains>
<domainValue>
<id>433437</id>
<code>IM</code>
<description>Intramusculaire</description>
<type>AdministrationRoute</type>
</domainValue>
</domains>
<status>Expired</status>
</lotInfo>
,因为它们来自同一个查询。但是,有没有办法给每个人一个不同的名字?
我正在使用DSS 4.2.0
谢谢。
答案 0 :(得分:0)
我认为解决问题的最简单方法是替换复杂元素的每个查询,并在其中调用您的查询。通过这种方式,您可以定义子查询的元素名称。 结果可能并不完全符合您的预期,但非常接近。这是因为添加复杂元素会在xml中添加一个新标记,如:
<element>
在数据服务XML中,您只需在查询中添加<element name="unit" namespace="N/A">
<call-query href="getVocabulaireSQL">
<with-param name="TYPE" query-param="unite_mesure_type"/>
<with-param name="VOCABULARY_DOMAIN" query-param="unite_mesure_vocab_domain"/>
<with-param name="CONCEPT_ID" query-param="unite_mesure"/>
</call-query>
</element>
<element name="route" namespace="N/A">
<call-query href="getVocabulaireSQL">
<with-param name="TYPE" query-param="ROUTE_ADMIN_type"/>
<with-param name="VOCABULARY_DOMAIN" query-param="ROUTE_ADMIN_vocab_domain"/>
<with-param name="CONCEPT_ID" query-param="ROUTE_ADMIN"/>
</call-query>
</element>
标记:
afterPropertiesSet