2011-01-31 16 views
1

私は次のxsl ありますキーは何生成-ID(先行兄弟:: ...意味XSL 1.0

<xsl:key name="kEventslegal" 
     match="HISTORY_EVENT" 
     use="concat(generate-id(
         preceding-sibling::HISTORY_EVENT[ 
          @Name='Item Acceptance Review event NO by Legal' 
         ][last()] 
        ), 
        '+', 
        generate-id(
         following-sibling::HISTORY_EVENT[ 
          @Name='Legal Report done' 
         ][1]) 
        )"/> 

のxml:?

<ROOT> 
    <HISTORY_EVENT Name="Item Acceptance Review event NO by Legal" 
        EVENTSUBJECT="Item Acceptance Review event NO by Legal"> 
      <EVENT_TIMESTAMP>31/01/2011 11:08:27</EVENT_TIMESTAMP> 
      <EVENT_STATE>opend</EVENT_STATE> 
      <EVENT_ROLE>Legal Unit Specialist</EVENT_ROLE> 
      <EVENT_USER>legal.test</EVENT_USER> 
      <EVENT_TYPE>normal</EVENT_TYPE> 
      <EVENT_PROCESS>Item Acceptance Review event NO by Legal Unit Specialist</EVENT_PROCESS> 
      <EVENT_MESSAGE>Item Acceptance Review event NO by Legal Unit Specialist legal.test</EVENT_MESSAGE> 
     </HISTORY_EVENT> 
........ 
</ROOT> 

任意のアイデア

+2

@Dimitreや@Alejandroのように見えますが、あなたの同僚から質問に答えました。もちろん、冗談です。 – Flack

+0

素晴らしいコメント:) –

+0

要するに、それはユニークな文字列を作る。これは、2つの要素ノードと区切り文字の一意の識別子から構築されます。最初のノードは、name属性を持つ兄弟のHISTORY_EVENT要素の前の最後の(逆の文書順で)、値は "Item ..."です。 2番目は、name属性を持つ兄弟HISTORY_EVENT eleventの最初のもので、値は "Legal ..."です。 – Flack

答えて

1

この<xsl:key>は、HISTORY_EVENT要素で囲まれたすべてのHISTORY_EVENT要素を識別します。

  • 最初は - 値を持つName属性持つ: - :を要約すると'Legal Report done'

:最後は'Item Acceptance Review event NO by Legal'

  • を値とName属性を持つようにすべての見えレビュー結果NOのすべての法的報告書のエントリー。

  • 関連する問題