Элемент xsl:copy
Элемент xsl:copy
Ниже представлена синтаксическая конструкция этого элемента:
<xsl:copy
use-attribute-sets = "наборы атрибутов">
<!-- Содержимое: шаблон -->
</xsl:copy>
Элемент xsl:copy создает копию текущего узла вне зависимости от его типа. Вместе с текущим узлом в выходящее дерево копируются только узлы пространств имен, ассоциированные с ним. Дочерние узлы и узлы атрибутов в выходящий документ не копируются.
Если xsl:copy используется для копирования корневого узла или узда элемента, в выходящем документе процессор создает дочерний фрагмент дерева, являющийся результатом выполнения шаблона, содержащегося в xsl:copy.
Пример
Предположим, что в каждый элемент преобразовываемого документа нам нужно добавить атрибут element-count со значением, равным количеству его дочерних элементов, а все остальные узлы оставить, как есть.
Листинг 7.17. Входящий документ
<а> text
<b attr="value"/>
<c/>
<d>
text
<e/>
</d>
</a>
Листинг 7.18. Шаблон преобразования
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:attribute name="element-count">
<xsl:value-of select="count(*) "/>
</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Листинг 7.19. Выходящий элемент
<a element-count="3">
text
<b element-count="0" attr="value"/>
<c element-count="0"/>
<d element-count="1">
text
<e element-count="0"/>
</d>
</a>
Если xsl:copy используется для создания в выходящем документе копии узла элемента, в него при помощи атрибута use-attribute-sets могут быть также включены именованные наборы атрибутов (см. раздел "Именованные наборы атрибутов" данной главы).
Пример
Предыдущее преобразование может быть переписано в виде
<xsl:attribute-set name="elements">
<xsl:attribute name="element-count">
<xsl:value-of select="count(*)"/>
</xsl:attribute>
</xsl:attribute-set>
<xsl:template match="@*|node()">
<xsl:copy use-attribute-sets="elements">
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Результат преобразования будет абсолютно идентичен выходящему документу, полученному в предыдущем примере.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Элемент <xsl:copy-of>
Элемент <xsl:copy-of> Элемент <xsl:copy-of> позволяет осуществлять глубокое копирование узлов, при котором копируется не только узел, но и все его атрибуты и потомки. У этого элемента единственный атрибут:• select (обязательный). Узел или набор копируемых узлов. Этот элемент пуст
Элемент <example>
Элемент <example> Внутри элемента <example> приводится текст из одной или нескольких строк, в котором можно описать примеры запуска сценария. Если сценарий был запущен с ключом /? в командной строке или в сценарии встретился вызов метода ShowUsage объекта WshArguments, то этот текст
Метод Copy
Метод Copy Обязательный параметр destination определяет каталог, в который будет производиться копирование; групповые символы в имени каталога недопустимы.Параметр overwrite является логической переменной, определяющей, следует ли заменять уже существующий каталог с именем
Метод Copy
Метод Copy Обязательный параметр destination определяет файл, в который будет производиться копирование; групповые символы в имени файла недопустимы.Параметр overwrite является логической переменной, определяющей, следует ли заменять уже существующий файл с именем destination (overwrite=true)
Roxio Easy DVD Copy
Roxio Easy DVD Copy Программа Roxio Easy DVD Copy версии 7.0 позволяет создавать копии кинофильмов, фотографий, музыки и дисков с данными на DVD (односторонних и двусторонних) и CD. Приложение поддерживает одновременное использование нескольких приводов компакт-дисков и позволяет
11. Меньше copy — меньше и вздору, или Избыточность текста и сжатие файла
11. Меньше copy — меньше и вздору, или Избыточность текста и сжатие файла Все знают, что большинству людей свойственно излишнее многословие. Гораздо менее широко известно, что даже самые лаконичные высказывания можно было бы значительно сократить. Вообще, естественные
Drive Copy
Drive Copy Эта программа выполняет те же функции, что и вышеописанный DeployCenter, но только в рамках одной машины. «Вы собираетесь модернизировать компьютер? Купите новый диск, установите его вместе со старым… И запустите DriveCopy!» Разумеется, речь идет не о простой замене
Копировать (Copy)
Копировать (Copy) template ‹class InputIterator, class OutputIterator›OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result);copy копирует элементы. Для каждого неотрицательного целого числа n ‹ (last - first) выполняется присваивание *(result + n) = *(first + n). Точно делается last - first присваиваний. Результат copy не
Пример A-6. copy-cd: Копирование компакт-дисков с данными
Пример A-6. copy-cd: Копирование компакт-дисков с данными #!/bin/bash# copy-cd.sh: copying a data CDCDROM=/dev/cdrom # устройство CD ROMOF=/home/bozo/projects/cdimage.iso # промежуточный файл# /xxxx/xxxxxxx/ измените для своей системы.BLOCKSIZE=2048SPEED=2 # Можно задать более высокую
Exact Audio Copy (EAC)
Exact Audio Copy (EAC) (http://www.exactaudiocopv.de)Пользователь-новичок, привыкший «перегонять» диски в MP3 с помощью удобного и красивого «граббера» (например, того же Windows Media Player), от этой программы скорее всего поначалу отшатнется: ни тебе удобностей, ни тебе красивостей… Зато есть громадное
Exact Audio Copy (EAC)
Exact Audio Copy (EAC) Сайт: http://www.exactaudiocopv.deРазмер: 2 МбСтатус: FreewareПользователь-новичок, привыкший «перегонять» диски в MP3 с помощью удобного и красивого Audio-grabber, Windows Media Player или CDex, от этой программы скорее всего поначалу отшатнется: ни тебе удобностей, ни тебе красивостей… Зато
Элемент xsl:copy
Элемент xsl:copy Ниже представлена синтаксическая конструкция этого элемента:<xsl:copy use-attribute-sets = "наборы атрибутов"> <!-- Содержимое: шаблон --></xsl:copy>Элемент xsl:copy создает копию текущего узла вне зависимости от его типа. Вместе с текущим узлом в выходящее дерево
Фиксированная семантика компонентов copy, clone и equality
Фиксированная семантика компонентов copy, clone и equality Чаще всего замороженные (frozen) компоненты применяются в операциях общего назначения, подобных тем, что входили в состав класса GENERAL. Так, есть две версии базовой процедуры копирования:copy, frozen standard_copy (other: ...) is-- скопировать
Клонирование по сетке ("Copy to Grid")
Клонирование по сетке ("Copy to Grid") Клонирование по сетке — самый простой из эффектов, который мы можем применить к выделенному фрагменту изображения. Данный эффект даже не анимирован.Чтобы применить этот эффект к выделенному фрагменту изображения, нужно выбрать пункт Copy to