以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XQuery/XLink/XPointer/ 』  (http://bbs.xml.org.cn/list.asp?boardid=14)
----  关于string的操作  (http://bbs.xml.org.cn/dispbbs.asp?boardid=14&rootid=&id=9296)


--  作者:spiritsailor
--  发布时间:8/11/2004 2:37:00 PM

--  关于string的操作
在xslt里是否可以实现字符的的相加,比如
<xsl:valule-of select=“'..'+@name"/>   我try了下,只支持数字的相加,不支持字符的拼接,请高手拍砖。
--  作者:spiritsailor
--  发布时间:8/11/2004 3:34:00 PM

--  
找到方法了,是concat(string,string+)这个函数可以做字符相加,但问题出来了,我用document(object)这个fun来引入另一个xml文件,可是用nodeset可以load进来,用concat()函数拼出来的正确xml路径反而load不出来,请教!!!!
--  作者:spiritsailor
--  发布时间:8/11/2004 4:29:00 PM

--  
继续解决问题,所有xml在一个src folder中,xsl在一个xsl folder中:
方法如下:
解决方法一:
xml:<include>../a/reference.xml</include>
如果我用node-set方式:document(include)没有问题(我前面提出的已经解决的方法)
解决方法二:
xml:<include>/a/reference/</include>
我要用在xsl中拼这个文件名,
<xsl:variable name="temp" select="concat('..',include,'.xml')"/>
这样document($temp)永远load不出来,最后我终于发现,是路径的问题
<xsl:variable name="temp" select="concat('../src',include,'.xml')"/>
这样就load出来了。
仔细研究了一下,为什么nodeset和我的temp中的值都是一样的,为什么node-set可以直接找到src路径呢?就是因为,如果是node-set,parser将根据----------〉xml〈--------中的node-set来处理成string-value,就可以拿出src的相对路径,而不用再指定src,而我原来认为document()函数只需要一个xml的位置,无论node-set还是string,值不是一样吗?后来突然发现,他转换node-set的时候肯定做了处理,才能够正确解决出来。

可能很菜鸟的问题,希望大家表笑我,:)。


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