具有不同名称的WSO2 DSS嵌套查询
我有这个结果映射具有不同名称的WSO2 DSS嵌套查询,wso2,wso2carbon,wso2dss,dss,Wso2,Wso2carbon,Wso2dss,Dss,我有这个结果映射 <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"/>
<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中有两个
,因为它们来自同一个查询。但是,有没有一种方法可以给他们每个人取一个不同的名字呢
我正在使用DSS4.2.0
谢谢。我认为解决问题的最简单方法是将每个查询替换为复杂元素,并在其中调用查询。通过这种方式,您可以定义子查询的元素名称。 结果可能并不完全是你所期望的,但非常接近。这是因为添加复杂元素会在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>
<unit>
<domains>
<domainValue>
<id>493416</id>
<code>INV.UnitOfMeasure2</code>
<description>ml (millilitre)</description>
<type>DosageUnit</type>
</domainValue>
</domains>
</unit>
<route>
<domains>
<domainValue>
<id>433437</id>
<code>IM</code>
<description>Intramusculaire</description>
<type>AdministrationRoute</type>
</domainValue>
</domains>
</route>
<status>Expired</status>
在数据服务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>
<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>