2011-08-31 18 views
2

我希望能夠選擇Parent_Entity_Ref等於實體的ID的所有關係元素。從後代元素的值等於上下文屬性值的上下文元素中選擇

我現在嘗試如下:

<xsl:apply-templates select="//EMX:Relationship[EMX:RelationshipProps/EMX:Parent_Entity_Ref = @id]" /> 

和XML結構如下:

<ERwin> 
    <EMX:Model> 
    <Entity_Groups> 
     <Entity id="blah"> 
     <!--Current Context--> 
     </Entity> 
    </Entity_Groups> 
    <Relationship_Groups> 
     <Relationship> 
     <RelationshipProps> 
      <!--Contains entity id --> 
      <Parent_Entity_Ref>blah</Parent_Entity_Ref> 
     </RelationshipProps> 
     </Relationship> 
    </Relationship_Groups> 
    </EMX:Model> 
</ERwin> 

我認爲正在發生的事情是,它是尋找內實體的所有關係元素,而比從整個文件,我已經嘗試添加祖先軸,並沒有幫助

回答

1
//Relationship[ 
    RelationshipProps/Parent_Entity_Ref = ../../Entity_Groups/Entity/@id 
] 

XML:

<ERwin xmlns:EMX="namespace"> 
    <EMX:Model> 
    <Entity_Groups> 
     <Entity id="blah"> 
     <!--Current Context--> 
     </Entity> 
    </Entity_Groups> 
    <Relationship_Groups> 
     <Relationship> 
     <RelationshipProps> 
      <!--Contains entity id --> 
      <Parent_Entity_Ref>blah</Parent_Entity_Ref> 
     </RelationshipProps> 
     </Relationship> 
    </Relationship_Groups> 
    </EMX:Model> 
</ERwin> 
+0

完美,它沒有訣竅:) – ywm

+0

@ywm,不客氣! –