以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]请教大家一个关于添加attribute为xmlns:xxx的办法  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=125044)


--  作者:xuan_yu
--  发布时间:6/5/2012 6:49:00 PM

--  [求助]请教大家一个关于添加attribute为xmlns:xxx的办法

在w3 org 的网站是明确说了 xslt动态添加属性时,属性名不能为 类似xmlns:xx这样的
说明如下:
XSLT processors may make use of the prefix of the QName specified in the name attribute when selecting the prefix used for outputting the created attribute as XML; however, they are not required to do so and, if the prefix is xmlns, they must not do so. Thus, although it is not an error to do:

<xsl:attribute name="xmlns:xsl" namespace="whatever">http://www.w3.org/1999/XSL/Transform</xsl:attribute>
it will not result in a namespace declaration being output.
但是他并没有提供解决的方法,请教各位高人,如果需要动态添加这样的属性我该怎么办?
比如:
<xsl:output method="xml" />
<xsl:template match="*" >
<xsl:variable name="attname" select="'xmlns:xyz'" />
<test>
<xsl:attribute name="{$attname}" >http://example.com</xsl:attribute>
</test>
</xsl:template>
按照官方说法这样是不行的,但是请教有什么解决的办法呢?


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
27.344ms