Книга: Технология XSLT
Метод Пиза для for-цикла
Метод Пиза для for-цикла
Для простых for
-циклов, которые должны выполниться строго определенное число раз, вместо рекурсии можно использовать весьма остроумный метод, предложенный Венделлом Пизом (Wendell Piez, Mullberry Technologies, Inc). Суть метода состоит в том, что хоть мы и не можем сгенерировать множество узлов, выбрать множество с определенным количеством узлов нам вполне по силам.
Для начала выберем какое-нибудь множество узлов документа преобразования:
<xsl:variable name="set" select="document('')//node()"/>
Затем для повторения определенных действий несколько раз используем конструкцию вида
<xsl:for-each select="$set[position() <= $number]">
<!-- Действия -->
</xsl:for-each>
где number
указывает требуемое число итераций.
При использовании метода Пиза следует учитывать следующие особенности.
? Множество узлов set
не должно быть слишком большим — иначе его выбор будет неэффективным.
? Множество узлов set
обязательно должно содержать число итераций (number
) узлов.
В целом же метод Пиза — классический пример эффективного применения инструментов не по назначению.
- Прерывание и перезапуск цикла
- 2.2. Повторение (операторы цикла)
- Forced writes - палка о двух концах
- Forced Writes
- Chapter 15. Graphical User Interfaces for Iptables
- What NAT is used for and basic terms and expressions
- Information request
- SCTP Generic header format
- System tools used for debugging
- FORWARD chain
- How to use this License for your documents
- 1. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION