Книга: XSLT
id()
id()
Функция id возвращает набор узлов, в котором все узлы имеют такой же ID, как и переданный в эту функцию. Функция применяется следующим образом:
node-set id(id-value)
В функцию передается значение ID, и она возвращает набор узлов с узлами, имеющими этот ID. Заметьте, что вы можете задать несколько ID, разделенных символами-разделителями, и функция вернет набор узлов с элементами, обладающими этими ID.
Следующее правило-пример выбирает текст всех элементов с ID «favorite»:
<xsl:template match = "id('favorite')">
<H3><xsl:value-of select="."/></H3>
</xsl:template>
Отметьте также, что вы должны объявлять значения ID как в DTD или схеме. Объявление DTD для planets.xml
, объявляющее ID с именем id
и присваивающее ему значение «favorite», может выглядеть так:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xml" href="stylesheet.xsl"?>
<!DOCTYPE PLANETS [
<!ELEMENT PLANET (CUSTOMER)*>
<!ELEMENT CUSTOMER (NAME,MASS,RADIUS,DAY)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT MASS (#PCDATA)>
<!ELEMENT RADIUS (#PCDATA)>
<!ELEMENT DAY (#PCDATA)>
<!ATTLIST PLANET
id ID #REQUIRED>
]>
<PLANETS>
<PLANET>
<NAME>Mercury</NAME>
<MASS UNITS="(Earth = 1)">.0553</MASS>
<DAY UNITS="days">58.65</DAY>
<RADIUS UNITS="miles">1516</RADIUS>
<DENSITY UNITS="(Earth = 1)">.983</DENSITY>
<DISTANCE UNITS="million miles">43.4</DISTANCE><!--B перигелии-->
</PLANET>
.
.
.
Заметьте, что некоторые процессоры XSLT не могут осуществлять выборку по ID, потому что они не читают объявления DTD и схему XML. Это одна из задач, которые призван решить XSLT 2.0 — сделать доступной информацию об идентификаторах.
- Слова благодарности
- 1.4.2.2. OSDL: Mobile Linux Initiative
- Состав сайта
- Предложения, которым недостает прямоты
- Поляризующий блок
- Другие интерфейсы программирования для Windows
- Законность спама
- 11.5. ПАО «ЛУКОЙЛ»
- Выводы для розничных магазинов
- Изучение среды международного маркетинга
- Приложение Словарь компьютерных терминов
- Немного о себе