Какой ключ генерирует идентификатор (предыдущий-брат и сестра :: ... означает XSL 1.0 - PullRequest
1 голос
/ 31 января 2011

У меня есть следующие xsl:

<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>

Есть идеи?

1 Ответ

1 голос
/ 31 января 2011

Этот <xsl:key> идентифицирует все HISTORY_EVENT элементы, которые окружены двумя конкретными HISTORY_EVENT элементами:

  • Первый - имеет атрибут Name со значением: 'Item Acceptance Review event NO by Legal'

  • Последний - с атрибутом Name со значением: 'Legal Report done'

Суммировать : выглядит как все записи для всех юридических отчетов с результатом проверки №.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...