队
我正在使用XLST 2.0从XML数据创建MS Word文档。我正在创建一个标题,并希望从本地目录中调用图像文件来显示我们的公司徽标。使用我正在使用的软件,我无法使用MS Word模板进行呼叫。这是计费软件,每次收到账单(使用XML数据)时,都需要动态创建每个MS Word文档。
我已经广泛搜索了这个网站,并尝试了大多数给出的例子无济于事。任何协助或指导将不胜感激。
以下是我要创建的MS Word文档中标题的结果...
这是标题的XSL ...
<xsl:stylesheet xmlns:aml="http://schemas.microsoft.com/aml/2001/core"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:kmf="http://www.kleinmundo.com/functions"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core"
xmlns:tlr="http://www.elite.com/functions"
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2"
xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template name="XS_Header" xml:space="default">
<xsl:variable name="TW" select="1440" />
<xsl:variable name="image-dir" select="'/Images'" />
<w:sectPr>
<w:hdr w:type="first">
<w:tbl>
<xsl:variable name="Col1" select="2 * $TW" />
<xsl:variable name="Col2" select="5.5 * $TW" />
<w:tblPr>
<w:tblW w:w="0" w:type="dxa"/>
<w:tblCellMar>
<w:left w:w="0" w:type="dxa"/>
<w:right w:w="0" w:type="dxa"/>
</w:tblCellMar>
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="{$Col1}"/>
<w:gridCol w:w="{$Col2}"/>
</w:tblGrid>
<w:tr>
<w:trPr>
<w:cantSplit/>
<w:tblHeader/>
</w:trPr>
<!--LOGO COLUMN -->
<w:tc>
<w:tcPr>
<w:tcW w:w="{$Col1}" w:type="dxa"/>
<w:vAlign w:val="bottom"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:keepNext/>
<w:keepLines/>
</w:pPr>
<w:r>
<w:t>LOGO HERE</w:t>
</w:r>
</w:p>
</w:tc>
<!-- ADDRESS INFO COLUMN -->
<w:tc>
<w:tcPr>
<w:tcW w:w="{$Col2}" w:type="dxa"/>
<w:vAlign w:val="bottom"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:keepNext/>
<w:keepLines/>
<w:jc w:val="right" />
</w:pPr>
<w:r>
<w:rPr>
<w:sz w:val="16" />
</w:rPr>
<w:t>Company Address | City, State ZIP | TEL 555.555.1234 | FAX 555.555.4321</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
<w:sectPr>
<w:pgSz w:w="12240" w:h="15840" w:orient="portrait" w:code="1" />
<w:pgMar w:top="720" w:right="720" w:bottom="720" w:left="720" w:header="720" w:footer="720" w:gutter="0" />
<w:cols w:space="720" />
<w:titlePg />
<w:docGrid w:line-pitch="272" />
</w:sectPr>
</w:hdr>
<w:titlePg />
<w:hdr w:type="odd">
</w:hdr>
<w:ftr w:type="first">
<w:p>
<w:r>
<w:t />
</w:r>
</w:p>
</w:ftr>
<w:titlePg />
<w:ftr w:type="odd">
<w:p>
<w:r>
<w:t />
</w:r>
</w:p>
</w:ftr>
<w:pgNumType w:start="1" />
<w:cols w:space="720" />
</w:sectPr>
</xsl:template>
</xsl:stylesheet>
-Nick
答案 0 :(得分:0)
我自己想出这个。这就是我的所作所为。
我创建了一个DOCX文件,其中只包含文档正文中的图像。然后我创建了一个书签,图像突出显示并命名为书签&#34; logo &#34;。我将DOCX文件保存到C:\ images \ logo_template.docx
然后我进入我的XSLT文件并调用指向书签的DOCX文件,如下所示:
<w:p>
<w:r>
<w:t>
~INS~<xsl:value-of select"'C:\images\logo_template.docx|logo'" />~/INS~
</w:t>
</w:r>
</w:t>
这将图像文件投入生成的MS Word文件中,该文件是我从帐单生成软件编译的。
最诚挚的问候,
-Nick