Сначала вам нужен правильно сформированный HTML (по крайней мере, переходный), хотя лучше всего рекомендуется XHTML. Некоторые XSLT-процессоры могут принимать некорректный HTML, но это не правило.
Чтобы попробовать приведенный ниже пример, вы можете загрузить это небольшое приложение командной строки Microsoft .
Быстрый и грязный пример XSLT для того, что вам нужно (example-xslt.xsl):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="form[@action='foo']">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="action">non-foo</xsl:attribute>
<input type="hidden" name="my-hidden-prop" value="hide-foo-here"/>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
И соответствующий пример XML (example.xml).
<?xml version ="1.0"?>
<?xml-stylesheet type="text/xsl" href="example-xslt.xsl"?>
<html>
<head></head>
<body>
<form action="foo">
</form>
<form action="other">
</form>
</body>
</html>