Jump to content

XSLT/мюнхийская группировка

Основные элементы и последовательность операций XSLT

Мюнхианская группировка (или мюнхийский метод , названный в честь Стива Мюнха) — это алгоритм группировки данных , используемый в XSL Transformations v1, который идентифицирует ключи в результатах, а затем запрашивает все узлы с этим ключом. Это улучшает традиционную альтернативу группировки, при которой каждый узел сравнивается с предыдущими (или последующими) узлами, чтобы определить, является ли ключ уникальным (если он уникален, это будет указывать на новую группу). [1] В обоих случаях ключ может принимать форму атрибута, элемента или вычисленного значения.

Уникальный идентификатор называется ключом, поскольку для идентификации и отслеживания групповой переменной используется функция «ключ».

Этот метод не является необходимым в XSLT 2.0+, который вводит новую for-each-group ярлык.

Общий аспект преобразования

[ редактировать ]

В этом методе использовалась способность XSLT индексировать документы с помощью ключа. Хитрость заключается в том, чтобы использовать индекс для эффективного определения набора уникальных ключей группировки, а затем использовать этот набор для обработки всех узлов в группе: [2]

<xsl:key name="products-by-category" match="product" use="@category"/>

<xsl:template match="/">

  <xsl:for-each select="//product[count(. | key('products-by-category', @category)[1]) = 1]">
    <xsl:variable name="current-grouping-key"
                  select="@category"/>
    <xsl:variable name="current-group"
                  select="key('products-by-category',
                              $current-grouping-key)"/>
    <xsl:for-each select="$current-group">
       <!-- processing for elements in group -->
       <!-- you can use xsl:sort here also, if necessary -->
    </xsl:for-each>
  </xsl:for-each>

</xsl:template>

Хотя мюнхенский метод продолжит работать в версии 2.0, for-each-group Предпочтителен, поскольку он, вероятно, будет столь же эффективным, а возможно и более эффективным. Мюнхенский метод можно использовать только для группировки по ценностям.

  1. ^ Группировка по мюнхенскому методу , Джени Теннисон.
  2. ^ «Рецепт 6.2. Предпочитайте «для каждой группы» мюнхенскому методу группировки» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 90a7ba0a20b6f01a622f06ecb84b9ebf__1714120500
URL1:https://arc.ask3.ru/arc/aa/90/bf/90a7ba0a20b6f01a622f06ecb84b9ebf.html
Заголовок, (Title) документа по адресу, URL1:
XSLT/Muenchian grouping - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)