我需要将一个xml文件中的一些数据复制到另一个xml文件中。我尝试了许多事情但没有取得任何成功。
1.xml
<head><meta name="charset" content="utf-8"/></head>
2.xml文件:
<dc:identifier id="uuid">123456789</dc:identifier>
输出文件赞:
<head>
<meta name="dtb:uid" content="123456789"/>
<meta name="dtb:depth" content="1"/>
<meta name="dtb:totalPageCount" content="0"/>
<meta name="dtb:maxPageNumber" content="0"/>
</head>
XSLT文件:
<xsl:template match="html:head">
<head>
<meta name="dtb:uid" content="{html:meta[@name='dc:identifier']/@content}"/>
<meta name="dtb:depth" content="{max(//html:li/count(ancestor::html:li))+1}"/>
<xsl:variable name="totalPageCount" select="count(//html:nav[@epub:type='page-list']/html:ol/html:li)"/>
<meta name="dtb:totalPageCount" content="{$totalPageCount}"/>
<xsl:variable name="maxPageNumber" select="number((//html:nav[@epub:type='page-list']/html:ol/html:li)[last()])"/>
<meta name="dtb:maxPageNumber" content="{if (string($maxPageNumber)='NaN') then $totalPageCount else $maxPageNumber}"/>
<xsl:apply-templates select="html:meta[not(@name='dc:identifier')]"/>
</head>
</xsl:template>
有没有人知道怎么做?
答案 0 :(得分:0)
假设共享XSLT代码正在3.xml
上应用(未共享),您可以使用{{从dc:identifier
将2.xml
的值转换为XSLT代码1}}功能。
请修改以下XSLT代码
document()
到
<meta name="dtb:uid" content="{html:meta[@name='dc:identifier']/@content}"/>
请确保在XSLT中正确映射了所有名称空间。