Чтение онлайн

на главную

Жанры

Холзнер Стивен

Шрифт:

 <xsl:template match="@*|node">

<xsl:copy>

<xsl:apply-templates select="@*|node"/>

</xsl:copy>

 </xsl:template>

 <xsl:template match="NAME[. = 'Venus']">

<NAME>

The Planet of Love

</NAME>

 </xsl:template>

</xsl:stylesheet>

Имеет

смысл привести как можно больше примеров — примеров XPath или образцов выбора никогда не бывает слишком много. Ниже приведен содержательный ряд примеров образцов выбора:

• 

PLANET
выбирает дочерние элементы
<PLANET>
контекстного узла;

• 

/PLANETS
выбирает корневой элемент
<PLANETS>
документа;

• 

*
выбирает все дочерние элементы контекстного узла;

• 

PLANET[3]
выбирает третьего ребенка
<PLANET>
контекстного узла;

• 

PLANET[last]
выбирает последнего ребенка
<PLANET>
контекстного узла;

• 

PLANET[NAME]
выбирает детей
<PLANET>
контекстного узла, имеющих детей
<NAME>
;

• 

PLANET[DISTANCE]/NAME
выбирает все элементы
<NAME>
элементов
<PLANET>
, содержащих по крайней мере один элемент
<DISTANCE>
;

• 

PLANET[DISTANCE]/PLANET[DAY]
выбирает все элементы
<PLANET>
элементов
<PLANET>
, в которых элемент
<PLANET>
содержит по крайней мере один элемент
<DISTANCE>
, и элемент
<PLANET>
содержит по крайней мере один элемент
<DAY>
;

• 

РLANETS[РLАNET/DAY]
выбирает все элементы
<PLANETS>
, содержащие элементы
<PLANET>
как минимум с одним элементом
<DAY>
;

• 

PLANET[DISTANCE][NAME]
выбирает все элементы
<PLANET>
, имеющие элементы
<DISTANCE>
и
<NAME>
;

• 

PLANETS/PLANET[last]
выбирает последний элемент
<PLANET>
в каждом элементе
<PLANETS>
;

• 

*/PLANET
выбирает всех внуков
<PLANET>
контекстного узла;

• 

/PLANETS/PLANET[3]/NAME[2]
выбирает второй элемент
<NAME>
третьего элемента
<PLANET>
элемента
<PLANETS>
;

• 

//PLANET
выбирает всех потомков
<PLANET>
корня документа;

• 

PLANETS//PLANЕТ
выбирает потомков элемента
<PLANET>
детей элемента
<PLANETS>
контекстного
узла;

• 

//PLANET/NAME
выбирает все элементы
<NAME>
, дочерние по отношению к родителю
<PLANET>
;

• 

РLАNETS//PLАNET/DISTАNСЕ//РЕRIНЕLION
выбирает элементы
<PERIHELION>
везде внутри элемента
<DISTANCE>
элемента
<PLANET>
, везде внутри элемента
<PLANETS>
;

• 

@UNITS
выбирает атрибут
UNITS
контекстного узла;

• 

@*
выбирает все атрибуты контекстного узла;

• 

*[@UNITS]
выбирает все элементы с атрибутом
UNITS
;

• 

DENSITY/@UNITS
выбирает атрибут
UNITS
в элементах
<DENSITY>
;

• 

PLANET[not(@COLOR) or not(@SIZE)]
выбирает элементы
<PLANET>
, не имеющие обоих атрибутов
COLOR
и
SIZE
;

• 

PLANETS[@STAR="Sun"]//DENSITY
выбирает любой элемент
<DENSITY>
с элементом-предком
<PLANETS>
, имеющим атрибут
STAR
со значением "
Sun
";

• 

PLANET[NAME="Venus"]
выбирает детей
<PLANET>
контекстного узла, имеющих детей
<NAME>
с текстом "
Venus
";

• 

PLANET[NAME[1]="Venus"]
выбирает все элементы
<PLANET>
, у которых в первом элементе
<NAME>
содержится текст в "
Venus
";

• 

DAY[@UNITS!="million miles"]
выбирает все элементы
<PLANET>
, атрибут
UNITS
которых не равен "
million miles
";

• 

PLANET[@UNITS="days"]
выбирает всех детей
<PLANET>
контекстного узла, имеющих атрибут
UNITS
со значением "
days
";

• 

PLANET[6][@UNITS="days"]
выбирает шестого ребенка
<PLANET>
контекстного узла, только если у этого ребенка есть атрибут
UNITS
со значением "
days
", — что также можно записать как
PLANET[@UNITS="days"][6]
;

• 

PLANET[@COLOR and @UNITS]
выбирает всех детей
<PLANET>
контекстного узла, имеющих оба атрибута
COLOR
и
UNITS
;

• 

*[1][NAME]
выбирает любой элемент
<NAME>
, являющийся первым ребенком своего родителя;

• 

*[position &lt; 5]
выбирает первые пять детей контекстного узла;

• 

*[position &lt; 5][@UNIT]
выбирает первые пять детей контекстного узла с атрибутом
UNITS
;

Поделиться:
Популярные книги

Средневековая история. Тетралогия

Гончарова Галина Дмитриевна
Средневековая история
Фантастика:
фэнтези
попаданцы
9.16
рейтинг книги
Средневековая история. Тетралогия

Хозяйка Междуречья

Алеева Елена
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Хозяйка Междуречья

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Столичный доктор. Том II

Вязовский Алексей
2. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том II

Игрок, забравшийся на вершину. Том 8

Михалек Дмитрий Владимирович
8. Игрок, забравшийся на вершину
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Игрок, забравшийся на вершину. Том 8

Довлатов. Сонный лекарь

Голд Джон
1. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Система Возвышения. Второй Том. Часть 1

Раздоров Николай
2. Система Возвышения
Фантастика:
фэнтези
7.92
рейтинг книги
Система Возвышения. Второй Том. Часть 1

Чужое наследие

Кораблев Родион
3. Другая сторона
Фантастика:
боевая фантастика
8.47
рейтинг книги
Чужое наследие

Князь Мещерский

Дроздов Анатолий Федорович
3. Зауряд-врач
Фантастика:
альтернативная история
8.35
рейтинг книги
Князь Мещерский

Совок 2

Агарев Вадим
2. Совок
Фантастика:
альтернативная история
7.61
рейтинг книги
Совок 2

Царь поневоле. Том 2

Распопов Дмитрий Викторович
5. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Царь поневоле. Том 2

Система Возвышения. (цикл 1-8) - Николай Раздоров

Раздоров Николай
Система Возвышения
Фантастика:
боевая фантастика
4.65
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров

Системный Нуб

Тактарин Ринат
1. Ловец душ
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Системный Нуб