以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- 请问在XSLT中如何输出自定义的名称空间? (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=47795) |
-- 作者:juziweidao -- 发布时间:5/31/2007 12:03:00 PM -- 请问在XSLT中如何输出自定义的名称空间? 现在我想利用输出一些根据参数内容不同而动态变化的一些名称空间,例如: <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://operation.paramName.org/Schema/" targetNamespace="http://operation.paramName.org/Schema/"> 其中的paramName就是我在XSL中动态获取的参数值,XSLT转换内容如下: <xsl:element name="wsdl:definitions"> <xsl:attribute name="targetNamespace">http://operation.<xsl:value-of select="$paramName"/>.org/Schema/</xsl:attribute> <xsl:attribute name="xmlns:tns">http://operation.<xsl:value-of select="$paramName"/>.org/Schema/</xsl:attribute> </xsl:element> 现在的问题是,xsl在输出第二个attribute时出现错误:无法解析名称空间前缀xmlns,XSL将这个字符串解析成自己的特殊字符了。我现在想就把其原样地作为一个属性的值,请问如何写呢? 我试图定义一个变量,设置其值为CDATA来使其原样输出,可是仍然出现该问题。 <xsl:variable name="xmlnsName"><![CDATA[xmlns:tns]]></xsl:variable> |
-- 作者:juziweidao -- 发布时间:6/1/2007 12:07:00 PM -- 怎么没有人回我啊,大家帮我看看怎么弄好啊。。。。急啊。。。。 |
-- 作者:gogy -- 发布时间:6/1/2007 3:29:00 PM -- 这个肯定没问题的,个人怀疑是处理器的问题。你用的什么处理器啊。MSXML? |
-- 作者:juziweidao -- 发布时间:6/1/2007 3:53:00 PM -- 我用的是xalan包,JAXP的接口来进行转换的,我试了一下,xmlns:tns作为参数值死活都不行,好像是只要参数值中包含有:,他就会自动解析成名称空间,然后就说这个名称空间找不到。这是怎么回事呢?我就想将xmlns:tns当作一个普通的字符串作为参数值应该怎么做? |
-- 作者:gogy -- 发布时间:6/1/2007 5:31:00 PM -- 那用<xsl:attribute name="{concat('xmlns',':','tns')}">试过吗? |
-- 作者:juziweidao -- 发布时间:6/1/2007 6:09:00 PM -- 我用这个方法怎么显示错误:用于属性 name 的值非法:{concat('xmlns',':','tns')},是不识别这个函数吗?是不是少加了什么名称空间啊? |
-- 作者:gogy -- 发布时间:6/1/2007 7:57:00 PM -- {concat('xmlns',':','tns')} 改成:{concat('xmlns',':','tns')}试试。 要么你把Xalan包发给我,给一小段代码,解析的。 我用过Xalan,但很久没有用JAVA来转换了。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
4,859.375ms |