У меня есть преобразование xsl для создания пользовательских элементов управления ASP.NET (ascx).
Мой XSL определяется следующим образом:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:asp="System.Web.UI.WebControls"
exclude-result-prefixes="asp msxsl"
>
<xsl:output method="xml" indent="no" omit-xml-declaration="yes" />
Итак, из этих исключающих префиксов результата я бы предположил, что все с префиксом asp не должно добавлять информацию о пространстве имен, а вот этот шаблон здесь:
<xsl:template match="Label">
<asp:Label runat="server" AssociatedControlID="{../@id}">
<xsl:copy-of select="./text()"/>
</asp:Label>
</xsl:template>
кормили этим xml:
<Label>Label Text</Label>
приводит к выводу:
<asp:Label runat="server" AssociatedControlID="SomeName" xmlns:asp="System.Web.UI.WebControls">Label Text</asp:Label>
Итак, что мне нужно сделать, чтобы xmlns: asp = ".." не отображался в каждом теге моего результата?