【发布时间】:2016-01-11 17:50:46
【问题描述】:
我整天在网上寻找答案,但没有运气;也许有人对我有一个简单的答案?
我创建了一个 Word Docx,我从中提取了 word/document.xml 以创建一个 xslt 文件。
我几乎没有经验,所以这是一个非常陡峭的学习曲线,所以我一直在关注我发现的各种示例,并使用从 SQLServer 作为 XML 生成的数据生成了一个有效的“邮件合并”或转换。
我现在需要执行通常的“邮件合并”操作,例如忽略打印在页面顶部的地址中的任何空白行,但我不知道如何使用我的 xslt 文件或任何其他方法来执行此操作就此而言。
查看 xslt 文件,应该忽略的“段落”的一个示例是:
<w:p w:rsidR="0067165E" w:rsidRPr="00F841C2" w:rsidRDefault="0067165E">
<w:pPr>
<w:rPr>
<w:sz w:val="20"/>
<w:lang w:val="en-GB"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00F841C2">
<w:rPr>
<w:sz w:val="20"/>
<w:lang w:val="en-GB"/>
</w:rPr>
<w:t>
<xsl:value-of select="Address2"/>
</w:t>
</w:r>
</w:p>
因为如果未填充 Address2,我不想打印空行。
根据我所阅读的内容和我所了解的(并且可能被误解)的一点点,我需要设置功能以忽略不包含数据的节点(我说对了吗?)
我可以用这个吗?
<xsl:template match="*[not(child::node())]"/>
以及它如何与
<xsl:template match="/">
我已经把它放在了我的 xslt 文件的顶部?
如果有人可以帮助我解决这个问题,那将真的有助于推动我前进。 对不起,如果它是如此简单,我应该可以闭着眼睛做,但我必须从某个地方开始!
谢谢
【问题讨论】:
标签: xml xslt ms-word openxml mailmerge