parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

как передать Xpath-выражение параметром в XSL

Hansel 19.11.2003 12:55

Делаю словарь. Есть XML документ (около 2000 статей). Для каждой статьи должна быть отдельная страница. Для извлечения текста есть articles.xsl в котором параметр $num задуман для передачи адреса конкретной статьи.

articles.xml

<articles>
<article id="a1">Ааа..</article>
<article id="a2">Ааб..</article>
....
</articles>


articles.xsl

<?xml version="1.0" encoding="Windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="num" />
<xsl:template match="/">
<b>
<xsl:text>Article</xsl:text><br />
</b>
<xsl:value-of select="$num"/>
</xsl:template>
</xsl:stylesheet>


Как можно из article0003.html передать параметр $num в articles.xsl? Причем значения этого параметра имеют вид "//article[@id='a3']"

Если передавать параметр, таким образом, как описано в документации:
$transformedDoc[^sourceDoc.transform[articles.xsl][$.num[//article[@id='a3']]]]

то в браузере вижу
Article
//article[@id='a3']

Как можно передать параметр не строкой, а XPath выражением?
Может, есть другие варианты? Не создавать же 2 тысячи разных XSL файлов с разными значениями ID...