XSLT 到 DOCX (OOXML) - 如何处理超链接
XSLT to DOCX (OOXML) - How to handle hyperlinks
我正在尝试从 XML 转换为 DOCX 文件,但是我遇到了 hyperlinks(到外部源)的问题,因为它需要 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>
是否可以在 hyperlink 标签中指定 link 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>
如果您没有受困于 XSLT 1.0,您可以使用 <xsl:result-document>
。这样你就可以从一个转换中获得多个输出。
我正在尝试从 XML 转换为 DOCX 文件,但是我遇到了 hyperlinks(到外部源)的问题,因为它需要 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>
是否可以在 hyperlink 标签中指定 link 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>
如果您没有受困于 XSLT 1.0,您可以使用 <xsl:result-document>
。这样你就可以从一个转换中获得多个输出。