我有几个以标题和作者姓名开头的html文件,但我不希望它们出现在内容表中。我使用remove toc from toc in wkhtmltopdf来硬编码要删除的h1 / h2的值,但我希望xlst toc文件独立于文档名和作者。
所以我给这些特定的标题一个类属性。问题在于xlst过滤器,我没有找到测试或提取类属性的方法。
这是html文件的一部分:
<h1 class="title">Me</h1>
<h2 class="author">My Title</h2>
这是xslt toc文件部分:
<xsl:template match="outline:item">
<li>
<xsl:if test="(@title!='') and (@title!='My little TOC')and (@class!='author')and (@class!='title')">
我是xslt的新手,并且不知道什么大纲:项目确实是,但似乎它没有获得原始的class属性。我怎么能完成这项工作?
答案 0 :(得分:1)
一种简单的解决方案是使用div
标签而不是标题。在CSS中,确保指定display: block;
。
答案 1 :(得分:0)
如果您运行
--dump-outline toc.xml
标记生成pdf并查看xml文件时,您将看到xml节点和属性。
然后,您可以测试文档的标题,页码,链接和反向链接。您可以将这些属性用于if语句。
例如:
<xsl:if test="((@page!=1) and (@page!=2) and (@page!=5))">
blah blah blah
</xsl:if>
注意完整测试的括号。
如果需要,您甚至可以进一步嵌套if语句:
<xsl:if test="((@page!=1) and (@page!=2) and (@page!=5))">
<xsl:if test="(@title!='A title')">
more code
</xsl:if>
</xslLif>