Xml DocBook 5中的分块限制了TOC深度并使其跳过数字?
我有一个DocBook V5.0文档,它以前是一个包含整本书的Xml DocBook 5中的分块限制了TOC深度并使其跳过数字?,xml,xslt,tableofcontents,docbook-5,docbook-xsl,Xml,Xslt,Tableofcontents,Docbook 5,Docbook Xsl,我有一个DocBook V5.0文档,它以前是一个包含整本书的.DocBook文件。此时,生成的TOC看起来很好。现在,我已经将输入分块到4个不同的.docbook文件中,还需要分块输出 在这一变化之后,我突然遇到了两个问题: TOC仅包含四个条目(每个.docbook对应一个条目),而不是它过去使用的全部深度 非常奇怪的是,TOC章节编号是1、2和4,然后是没有编号的词汇表 关于后者,如果我删除第二章,我会得到1、2和术语表,所以我想第二章的内容不会导致错误编号 无论如何,我的问题是,如何在保
.DocBook
文件。此时,生成的TOC看起来很好。现在,我已经将输入分块到4个不同的.docbook
文件中,还需要分块输出
在这一变化之后,我突然遇到了两个问题:
<!DOCTYPE book [
<!ENTITY a SYSTEM "a.docbook">
<!ENTITY b SYSTEM "b.docbook">
<!ENTITY c SYSTEM "c.docbook">
<!ENTITY glossary SYSTEM "glossary.docbook">
<!ENTITY larr "←">
<!ENTITY rarr "→">
<!ENTITY mdash "—">
]>
<book xmlns:xl="http://www.w3.org/1999/xlink">
<title>My Title</title>
&a;
&b;
&c;
&glossary;
</book>
]>
我的头衔
&a;
&b;
&c;
&词汇表;
我的XSL与以前类似,添加了一些分块控制选项(但没有更改原始TOC选项):
UTF-8
书名
对
我的.docbook
文件都是这样的:
<!DOCTYPE book [
<!ENTITY a SYSTEM "a.docbook">
<!ENTITY b SYSTEM "b.docbook">
<!ENTITY c SYSTEM "c.docbook">
<!ENTITY glossary SYSTEM "glossary.docbook">
<!ENTITY larr "←">
<!ENTITY rarr "→">
<!ENTITY mdash "—">
]>
<book xmlns:xl="http://www.w3.org/1999/xlink">
<title>My Title</title>
&a;
&b;
&c;
&glossary;
</book>
A.
...
除了glossary.doc
,它是:
词汇表
现在,我意识到在一章中有一章可能有点奇怪。这甚至可能是原因。但是,它会在没有警告的情况下进行验证,而且,如果我在给定文件中做了最外层的标记,则TOC中会丢失整个文件。提示:用替换旧的
。这样做的优点是,所有这些都可以通过xml模式进行良好的验证。此外,XML编辑器可以更好地使用xinclude,然后通过实体
包含文件
以下是一个例子:
文件:book.xml
<?xml version="1.0" encoding="UTF-8"?>
<book version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:db="http://docbook.org/ns/docbook">
<info>
<title>This is a book</title>
</info>
<chapter>
<title>This is a chapter</title>
<section>
<title>This is a section</title>
<para>This is a paragraph.</para>
</section>
<xi:include href="included_section.xml" />
</chapter>
</book>
<?xml version="1.0" encoding="UTF-8"?>
<section version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:ns5="http://www.w3.org/2000/svg"
xmlns:ns4="http://www.w3.org/1998/Math/MathML"
xmlns:ns3="http://www.w3.org/1999/xhtml"
xmlns:db="http://docbook.org/ns/docbook">
<title>This is an included section</title>
<para>This is an included paragraph.</para>
<mediaobject>
<imageobject>
<imagedata fileref="media/martin-luther-king.jpg"></imagedata>
</imageobject>
</mediaobject>
</section>
在此示例中,还有一个目录media
,其中包含文件martin luther king.jpg
您上面的示例如下所示:
<book version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:db="http://docbook.org/ns/docbook">
<title>My Title</title>
<xi:include href="chapter-a.xml" />
<xi:include href="chapter-b.xml" />
<xi:include href="chapter-c.xml" />
<xi:include href="glossary.xml" />
</book>
<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:db="http://docbook.org/ns/docbook">
<title>This is a chapter</title>
<section>
<title>This is a section</title>
<para>This is a paragraph.</para>
</section>
</chapter>
<?xml version="1.0" encoding="UTF-8"?>
<glossary version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Example Glossary</title>
<para>
This is not a real glossary, it's just an example.
</para>
</glossary>
我的头衔
每个单独的章节文件可能看起来像:
<book version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:db="http://docbook.org/ns/docbook">
<title>My Title</title>
<xi:include href="chapter-a.xml" />
<xi:include href="chapter-b.xml" />
<xi:include href="chapter-c.xml" />
<xi:include href="glossary.xml" />
</book>
<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:db="http://docbook.org/ns/docbook">
<title>This is a chapter</title>
<section>
<title>This is a section</title>
<para>This is a paragraph.</para>
</section>
</chapter>
<?xml version="1.0" encoding="UTF-8"?>
<glossary version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Example Glossary</title>
<para>
This is not a real glossary, it's just an example.
</para>
</glossary>
这是一章
这是一个章节
这是一段。
以及术语表文件,可以如下所示:
<book version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:db="http://docbook.org/ns/docbook">
<title>My Title</title>
<xi:include href="chapter-a.xml" />
<xi:include href="chapter-b.xml" />
<xi:include href="chapter-c.xml" />
<xi:include href="glossary.xml" />
</book>
<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:db="http://docbook.org/ns/docbook">
<title>This is a chapter</title>
<section>
<title>This is a section</title>
<para>This is a paragraph.</para>
</section>
</chapter>
<?xml version="1.0" encoding="UTF-8"?>
<glossary version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Example Glossary</title>
<para>
This is not a real glossary, it's just an example.
</para>
</glossary>
示例词汇表
这不是一个真正的词汇表,只是一个例子。
不要在包含的.docbook
文件中嵌套章节。最外层的标签使用章节
,最外层的标签使用章节
(尽管进行了验证,但我发现最短的文件实际上缺少一对
章
标记,因此它有一章有两个标题
等等。我试图通过将最外层的标记更改为章
,然后将其内部的章
标记更改为节
,来重新构造该文件这,这导致它没有出现在TOC上,所以我假设我已经证明了章节中的部分由于某种原因不起作用,而实际上是我剪切粘贴工作中丢失的标签。不要依赖验证程序!)谢谢你的提示,但是使用DocBook V5.0不是一件好事,你可以调用你的文件。DocBook
,不要使用Ok thx来解释,我不知道DocBook是否扩展。关于这个问题,听起来内容或改进的XSL有一些问题。你能分享一下这些内容的一个小例子吗nt文件?也许是GitHub的要点谢谢,查看内容文件是解决问题的关键。回答如下。