首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XSLT1.0中的document()函数

XSLT1.0中的document()函数
EN

Stack Overflow用户
提问于 2012-08-13 09:12:21
回答 1查看 317关注 0票数 0

我想不使用任何引擎直接使用XSLT1.0在IE浏览器中显示xml。我可以从源xml中获得一些代码,然后我想从名为voc.xml.but的外部xml中获得与此代码对应的displayname。按照以下说明,我无法获得displayname。1.在xsl中定义一个文档变量

代码语言:javascript
运行
复制
<xsl:variable name="voc" select="document('voc.xml')"/>

2.获得遵循我自己的xpath的代码,我可以获得变量'paytypecode'='01‘的值

3.在voc.xml中找到对应的代码

代码语言:javascript
运行
复制
<xsl:variable name='mappedpaytypecode' select="$voc//systems/system[@root='CV07.10.003医疗费用来源类别代码表']/code[@value='01']"/> 

4.获取voc.xml中相应代码的displayName

代码语言:javascript
运行
复制
<xsl:variable name='displayName_value' select="$mappedpaytypecode/@displayname"/>  

voc.xml是这样的

代码语言:javascript
运行
复制
<systems>
    <system codeSystemName="CV07.10.003医疗费用来源类别代码表" root="CV07.10.003医疗费用来源类别代码表">
       <code value="01" displayname="城镇职工基本医疗保险" />
       <code value="02" displayname="城镇居民基本医疗保险" />
       <code value="03" displayname="新型农村合作医疗" />
       <code value="04" displayname="贫困救助" />
       <code value="05" displayname="商业医疗保险" />
       <code value="06" displayname="全公费" />
       <code value="07" displayname="全自费" />
       <code value="99" displayname="其他" />      
  </system> 
</systems>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-13 16:18:49

我在这里看到了三个问题:

  1. 您的示例输入文档格式不正确。请检查元素的结束标记。
  2. XPath区分大小写。在displayName变量的select表达式中,您使用了驼峰大小写(‘@ $displayName_value’),但在输入文档中,您使用的是小写的displayName,而没有提到您正在测试的浏览器的范围。如果是FF (桌面)或IE,你就没问题。请注意,Google Chrome (桌面)不允许本地系统XSLT。这是设计好的。我不知道移动浏览器是否支持客户端的XSLT。

IE浏览器

不要忘记使用node-set()函数。参考文献:

  1. http://msdn.microsoft.com/en-us/library/hz88kef0.aspx
  2. http://dpcarlisle.blogspot.com.au/2007/05/exslt-node-set-function.html
  3. How to use node-set function in a platform-independent way?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11927165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档