代码之家  ›  专栏  ›  技术社区  ›  onurhb

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

  •  0
  • onurhb  · 技术社区  · 7 年前

    我正在尝试从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>
    

    是否可以在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 回复  |  直到 7 年前
        1
  •  1
  •   wasmachien Jon W    7 年前

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