Книга: XSLT
Шаги расположения XPath, часть 1: оси
Шаги расположения XPath, часть 1: оси
В пути расположения ancestor::NAME
, адресующем элемент <NAME>
, который является предком контекстного узла, ancestor
выступает осью. XPath поддерживает много различных осей, ниже приведен полный список:
• ось ancestor
содержит предков (ancestor) контекстного узла, то есть родителей контекстного узла, родителей этих родителей и т.д., вплоть до корневого узла (включая его);
• ось ancestor-or-self
содержит контекстный узел и его предков;
• ось attribute
содержит атрибуты контекстного узла;
• ось child
содержит детей контекстного узла;
• ось descendant
содержит потомков (descendant) контекстного узла, то есть его детей, детей этих детей и т.д.;
• ось descendant-or-self
содержит контекстный узел и его потомков;
• ось following
содержит все узлы в том же документе, такие же, как контекстный узел, встретившиеся после контекстного узла;
• ось following-sibling
содержит всех последующих братьев контекстного узла. «Брат» — узел, расположенный на том же уровне, что и контекстный узел;
• ось namespace
содержит узлы пространств имен контекстного узла;
• ось parent
содержит родителя контекстного узла;
• ось preceding
содержит все узлы до контекстного узла;
• ось preceding-sibling
содержит всех предшествующих «братьев» контекстного узла;
• ось self
содержит контекстный узел.
В следующем примере шаблона я воспользовался осью descendant
для выбора потомков контекстного узла, куда входят дочерние узлы, узлы-внуки, узлы-правнуки и т.д.:
<xsl:template match="PLANET">
<DATA>
<NAME>
<xsl:value-of select="descendant::NAME"/>
</NAME>
<MASS>
<xsl:value-of select="descendant::MASS"/>
</MASS>
<DAY>
<xsl:value-of select="descendant::DAY"/>
</DAY>
</DATA>
</xsl:template>
В этой главе мы рассмотрим все перечисленные оси. В данном примере осью является descendant
, а имена элементов NAME
, MASS
и DAY
— это условия узлов.
- Изучаем XPath
- Типы данных XPath
- Создание путей расположения XPath
- Шаги расположения XPath, часть 1: оси
- Шаги расположения XPath, часть 2: условия узлов
- Шаги расположения XPath, часть 3: предикаты
- Применение осей XPath
- Применение оси ancestor
- Применение оси ancestor-or-self
- Применение оси descendant
- Применение оси descendant-or-self
- Применение оси following
- Применение оси following-sibling
- Применение оси namespace
- Применение оси parent
- Применение оси preceding
- Применение оси preceding-sibling
- Применение оси self
- Примеры путей расположения
- Сокращенный синтаксис XPath
- Проверка выражений XPath
- XPath 2.0
- Применение оси following-sibling
- Применение оси following
- Применение оси preceding
- Применение оси preceding-sibling
- Применение оси descendant
- xpath
- Применение оси ancestor
- Применение оси namespace
- Применение оси descendant-or-self
- Применение оси parent
- Применение оси self
- «Вещи» как носители корпоративных стандартов