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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |