XSLT到DOCX(OOXML) - 如何处理超链接

时间:2018-02-19 13:38:00

标签: xml xslt docx

我正在尝试从XML转换为DOCX文件,但是我有超链接(到外部源)的问题,因为它需要document.xml.rels中的关系声明。像这样:

<Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.google.com/" TargetMode="External"/>

然后我可以用它的id来引用这种关系:

<w:hyperlink r:id="rId5">
  <w:r>
    <w:rPr>
      <w:color w:val="#0070BB"/>
      <w:i/>
    </w:rPr>
    <w:t>
      <xsl:value-of select="string(.)"/>
    </w:t>
  </w:r>
</w:hyperlink>

是否可以在超链接标记中指定链接URL作为属性?所以我没有使用其他文件...

这样的事情:

<w:hyperlink external-url="http://...">
  <w:r>
    <w:rPr>
      <w:color w:val="#0070BB"/>
      <w:i/>
    </w:rPr>
    <w:t>
      <xsl:value-of select="string(.)"/>
    </w:t>
  </w:r>
</w:hyperlink>

1 个答案:

答案 0 :(得分:1)

如果你没有停留在XSLT 1.0上,你可以使用<xsl:result-document>。这样,您可以从一次转换中获得多个输出。