0
我使用xsl fo和Java生成XML的PDF。我需要在我的6列表的一列中嵌入超链接。这是我的代码片段。使用xsl fo创建PDF文档中的超链接
<fo:table-row>
<xsl:for-each select="./clientMain/hierarchy/link">
<fo:table-cell border="solid 1px black" text-align="left" font-size="10pt"><fo:block>Hierarchy</fo:block></fo:table-cell>
<fo:table-cell border="solid 1px black" text-align="left" font-size="9pt">
<fo:block><a>
<xsl:attribute name="href"><xsl:value-of select="@link"/></xsl:attribute>
</a></fo:block>
<fo:block><xsl:value-of select="@link"/></fo:block></fo:table-cell>
</xsl:for-each>
</fo:table-row>
但我的计划失败,此错误:
javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: "fo:table-row" is missing child elements. Required content model: (table-cell+) (No context info available)
at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:718)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:682)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:682)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
如果我评论此行一切工作正常。请帮忙 !!!!
请出多一点的输入XML的......也许它是xpath'./cli entMain/hierarchy/link'不匹配任何东西?链接元素是否具有“链接”属性或确切的结构是什么?另外,我不确定是否为块添加href属性使其成为xsl-fo超链接,也许您会在xsl-fo spec/doc中检查一下。 –
如果'xsl:for-each'没有检测到任何节点,那么您最终将得到一个没有表格单元格的表格行,从而导致错误。 –