以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]根据元素属性,设定不同的模版  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=38905)


--  作者:ralfmmx
--  发布时间:10/14/2006 10:23:00 PM

--  [求助]根据元素属性,设定不同的模版
才学xslt不久,碰到一个难题。项目需要,要处理wml中标签[color=#FF0000]<a>[/color]的href属性。
根据标签<a>里href的不同,有三种转换要求:
1.  如果<a href="http://xxx.xxx.xxx/xxx.xxx?xxx=xxx">
   不用处理,原样输出
2.  如果<a href="/xxx.xxx?xxx=xxx">
  加上指定的服务器地址,输出<a href="[color=#0000FF]http://serverAddress/[/color]xxx.xxx?xxx=xxx">
3.  如果<a href="xxx.xxx?xxx=xxx">
    加上加上指定的服务器地址和当前页面的路径
    输出:<a href="[color=#0000FF]http://serverAddress/[/color][color=#ff0000]/xxx/xxxx/[/color]xxx.xxx?xxx=xxx">
--  作者:ralfmmx
--  发布时间:10/14/2006 10:31:00 PM

--  
晕!标签失效???

才学xslt不久,碰到一个难题。项目需要,要处理wml中标签<a>的href属性。
根据标签<a>里href的不同,有三种转换要求:
1.  如果<a href="http://xxx.xxx.xxx/xxx.xxx?xxx=xxx">
   不用处理,原样输出

2.  如果<a href="/xxx.xxx?xxx=xxx">
  加上指定的服务器地址,输出<a href=" http://serverAddress/  xxx.xxx?xxx=xxx">

3.  如果<a href="xxx.xxx?xxx=xxx">
    加上加上指定的服务器地址和当前页面的路径
    输出:<a href="  http://serverAddress/  xxx/xxxx/  xxx.xxx?xxx=xxx">

------------------------------------------------------
问题是,我怎么来解析href属性的字串,来判断这三肿情况,麻烦各位了?


--  作者:Qr
--  发布时间:10/15/2006 9:37:00 AM

--  
<xsl:for-each select="a">
<xsl:choose>
<xsl:when test="starts-with(@href,'http://')"><!--这里没有严格的设置过滤条件,根据实际需要吧-->
<a href="{@href}"/>
</xsl:when>
<xsl:when test="starts-with(@href,'/')">
<a href="http://serverAddress/{@href}"/>
</xsl:when>
<xsl:otherwise>
<!--加上加上指定的服务器地址和当前页面的路径-->
XSL本身没办法取当前页面路径,除非在页面加载时,获取当前页面路径,动态修改并传递给XSL,才能实现你的要求。
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>

'是一个“'”号


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