[英]how to copy XML Element content to another xml file using xslt?
我需要将一个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>
有谁知道如何做吗?
假设将共享的XSLT代码应用于3.xml
(不共享),则可以使用document()
函数将2.xml
中dc:identifier
的值2.xml
到XSLT代码中。
请修改以下XSLT代码
<meta name="dtb:uid" content="{html:meta[@name='dc:identifier']/@content}"/>
至
<meta name="dtb:uid" content="{document('2.xml')/dc:identifier}"/>
请确保在XSLT中正确映射了所有名称空间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.