在 XSLT 中匹配具有命名空间前缀的元素 [英] Matching elements with namespace prefix in XSLT
本文介绍了在 XSLT 中匹配具有命名空间前缀的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的 xml 输入.
This is my xml input.
<package version="2.0" unique-identifier="uuid_id"
xmlns="http://www.idpf.org/2007/opf">
<metadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:opf="http://www.idpf.org/2007/opf"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:calibre="http://calibre.kovidgoyal.net/2009/metadata"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<meta name="calibre:series_index" content="1"/>
<dc:language>UND</dc:language>
<dc:creator opf:file-as="Marquez, Gabriel Garcia"
opf:role="aut"
>Gabriel Garcia Marquez</dc:creator>
<meta name="calibre:timestamp" content="2010-07-14T21:35:15.266000+00:00"/>
<dc:title>Cem Anos de Solidão</dc:title>
<meta name="cover" content="cover"/>
<dc:date>2010-07-14T21:35:15.266000+00:00</dc:date>
<dc:contributor opf:role="bkp"
>calibre (0.7.4) [http://calibre-ebook.com]</dc:contributor>
<dc:identifier id="uuid_id" opf:scheme="uuid"
>7e11dc8b-55cb-4411-8f30-df974fbcf58a</dc:identifier>
</metadata>
<manifest>
</package>
我的 xslt 开始像..
and my xslt starts like..
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xsl:template match="package">
<xsl:message>Entering package</xsl:message>
</xsl:template>
我正在使用 XSLT 1.0
并且模板包没有得到匹配.当我删除包节点中的命名空间 xmlns="http://www.idpf.org/2007/opf"
时,模板会匹配.如何在不删除命名空间的情况下使我的模板匹配.
I am using XSLT 1.0
and the template package is not getting matched. When I remove the namespace xmlns="http://www.idpf.org/2007/opf"
in package node, the template gets matched. How I can make my template to match without removing the namespaces.
请帮帮我.提前致谢.
推荐答案
在样式表中添加命名空间.
Add the namespaces in your stylesheet.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:opf="http://www.idpf.org/2007/opf">
<xsl:template match="opf:package">
<xsl:message>Entering package</xsl:message>
</xsl:template>
这篇关于在 XSLT 中匹配具有命名空间前缀的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文