如何在HTML中表达语义错误的分页符?

时间:2010-08-02 22:31:31

标签: html xhtml

我正在用HTML编辑书籍/文章。这些文本打印一次,我扫描它们,将它们转换为中间XML格式,然后我将它们转换为HTML(通过XSLT)。由于其中一些文本已经从当今市场上消失,并且只能通过主要图书馆获得,我希望以某种方式发布它们,以便人们可以通过参考原始文档中的页码来引用它们。为此,我的中间XML格式有一个标记分页符的元素。现在我正在进行XML-&gt; HTML转换,我想知道如何在HTML中转换这些分页符。默认情况下它们不应出现在最终的HTML中(所以简单|不适合)但我打算用一些轻量级的JavaScript包装这些文档,这些JavaScript将在需要时显示标记。我想到<span> s带有|在它中默认隐藏。

这个问题是否有更好的,可能是'语义'的方式?

3 个答案:

答案 0 :(得分:3)

分页符是布局的一部分,而HTML并不是为描述布局而设计的,因此您不会在语言中找到任何语义上的内容。

你能想到的最好的就是某种kludge。

由于分段中间可以发生分页,并且<p>元素只能包含内联元素,因此您可以从一开始就消除大部分选项。

向我展示的两种可能性是<span><a>。前者没有语义,后者被设计为链接到(使用名称属性)或来自(使用href属性),并且您可以将原始文档中的页面视为您可能希望链接到的页面。

无论你使用什么元素,我都不会在其中包含标记然后用CSS隐藏它。我会考虑通过:before在样式表中添加那种表现性标志(与体型类的后代选择器结合使用,因为你想要切换,可以用JS切换)

或者,如果您想(非常)广泛地了解“HTML”的含义,您可以考虑l element(来自已解散的XHTML 2草稿)并标记原始文档的每一行。添加一个类将指示新页面的开始位置(并且您可以使用CSS计数器和边框来清楚地指示每个页面和数字,您应该如此希望)。可惜浏览器供应商拒绝支持真正的语义标记语言,而是偏爱HTML 5。

答案 1 :(得分:2)

为每个页面使用<div class="Page">,并使用包含以下内容的样式表:

.Page {
   page-break-after: always;
}

答案 2 :(得分:0)

也许你可以使用像<pagebreak/>这样的html解析/解释的xml标签。

以这种方式查看html标签将不会呈现,而是使用jQuery或任何其他Javascript库,当被问及时,转换为标准
中的这些特定标记或任何可视标记。

我认为这可以是一种语义方法......