加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xslt – 定义使用xpath-default-namespace的XSL XPath中的默认命

发布时间:2020-12-16 07:43:12 所属栏目:百科 来源:网络整理
导读:我有这个简单的xml文档: ?xml version='1.0' encoding='UTF-8'?registry xmlns="http://www.iana.org/assignments" id="character-sets" registry id="character-sets-1" record nameANSI_X3.4-1968/name /record /registry/registry 当我使用这个xsl我可以
我有这个简单的xml文档:
<?xml version='1.0' encoding='UTF-8'?>
<registry xmlns="http://www.iana.org/assignments" id="character-sets">
     <registry id="character-sets-1">
       <record>
         <name>ANSI_X3.4-1968</name>
      </record>
     </registry>
</registry>

当我使用这个xsl我可以提取名称:

<?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="http://www.iana.org/assignments" version="1.0">
  <xsl:template match="/my:registry">
      <xsl:copy-of select="//my:record/my:name"/>
  </xsl:template>
</xsl:stylesheet>

但是,如果我省略了xsl xpath-selectors中的命名空间,我不会得到任何输出:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="http://www.iana.org/assignments" xpath-default-namespace="http://www.iana.org/assignments" version="1.0">
  <xsl:template match="/registry">
       <xsl:copy-of select="//record/name"/>
  </xsl:template>
</xsl:stylesheet>

我认为xpath-default-namespace是要做的伎俩.我失踪了什么

如果库版本很重要我有

libexpat1(> = 1.95.8)

libxerces-C3.1

libxml2(> = 2.7.4)

libxslt1.1(> = 1.1.25)

不幸的是,xpath-default-namespace是一个XSLT 2.0功能.您需要在xslt 1.0的xpath中重复命名空间或别名

参考:Jenni Tennison和IBM

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读