<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:w="http://java.sun.com/xml/ns/javaee"
>
<xsl:output indent="yes" />
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="w:context-param[w:param-name='dojoUrl']/w:param-value">
<xsl:copy>/dojo/1.7.1/dojo/dojo.js</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Краткое объяснение:
Первый шаблон копирует каждый XML-узел в вывод, который не соответствует ни одному другому шаблону (он называется шаблон идентификации , посмотрите его, еслизаинтересованы).
Второй шаблон специально соответствует <w:param-value>
дочерним элементам <w:context-param>
элементов с w:param-name
'dojoUrl'
.Он выводит новый <w:param-value>
с другим путем.