车花XML的标记值

问题描述:

我想要做的XML标记刻面和副刻面的变量值,我有一个像下面车花XML的标记值

<TermiteJServiceResponse> 
    <EntityTypeHit type="DRUG"> 
    <HitCollection> 
     <Hit type="DRUG" id="CHEMBL1201288"> 
     <Name>Dantrolene</Name> 
     </Hit> 
     <Hit type="DRUG" id="CHEMBL286398"> 
     <Name>Propylene Glycol</Name> 
     </Hit> 
     <Hit type="DRUG" id="GXC376D7F8C0E7A0C3787E8A2384DC56E80"> 
     <Name>PEG400</Name> 
     </Hit> 
    </HitCollection> 
    </EntityTypeHit> 
    <EntityTypeHit type="COMPOUNDS"> 
    <HitCollection> 
     <Hit type="COMPOUNDS" id="A-409912.5"> 
     <Name>A-409912.5</Name> 
     </Hit> 
     <Hit type="COMPOUNDS" id="A-409912"> 
     <Name>A-409912</Name> 
     </Hit> 
    </HitCollection> 
    </EntityTypeHit> 
    <EntityTypeHit type="GENE"> 
    <HitCollection> 
     <Hit type="GENE" id="TRH"> 
     <Name>thyrotropin-releasing hormone</Name> 
     </Hit> 
    </HitCollection> 
    </EntityTypeHit> 
    <EntityTypeHit type="BIOPROC"> 
    <HitCollection> 
     <Hit type="BIOPROC" id="BP70302"> 
     <Name>infusion</Name> 
     </Hit> 
     <Hit type="BIOPROC" id="D009200"> 
     <Name>Myocardial Contraction</Name> 
     </Hit> 
     <Hit type="BIOPROC" id="BP70198"> 
     <Name>cmax values</Name> 
     </Hit> 
     <Hit type="BIOPROC" id="D001835"> 
     <Name>Body Weight</Name> 
     </Hit> 
     <Hit type="BIOPROC" id="D062186"> 
     <Name>Arterial Pressure</Name> 
     </Hit> 
     <Hit type="BIOPROC" id="BP70209"> 
     <Name>contractility</Name> 
     </Hit> 
     <Hit type="BIOPROC" id="D006339"> 
     <Name>Heart Rate</Name> 
     </Hit> 
     <Hit type="BIOPROC" id="BP70316"> 
     <Name>intravenal</Name> 
     </Hit> 
    </HitCollection> 
    </EntityTypeHit> 
    <EntityTypeHit type="SPECIES"> 
    <HitCollection> 
     <Hit type="SPECIES" id="D051381"> 
     <Name>Rats</Name> 
     </Hit> 
    </HitCollection> 
    </EntityTypeHit> 

</TermiteJServiceResponse> 

我想在上面的基础上,以面处的XML文档文档药物和药物名称的副方面和化合物名称上的类似化合物和子方面

看一看关于“Constrained Searches and Faceted Navigation”的MarkLogic搜索开发人员指南。

使用搜索API,您可以使用<search:options>元素定义约束和构面(一种约束)。对于每个方面,您需要定义一个范围索引。理想情况下,您可以使用语义命名元素(<DRUG>而不是<Hit type="DRUG">)来实现更简单的索引;但是,如果这个模式不灵活,那么你可以define a path range index超过//Hit[type="DRUG"],并引用它像搜索选项:

<constraint name="Drug"> 
    <range type="xs:string" facet="true"> 
    <path-index> 
     //Hit[type="DRUG"] 
    </path-index> 
    </range> 
</constraint> 

当你拨打电话使用search:searchsearch:resolve搜索API,它会返回一个search:response包含您在<search:options>中定义的结果(片段)和约束或构面值的元素。