从docbook生成PDF时遇到问题。
我需要基于多个docbook XML生成一个PDF。其中一些xml是手动编写的(如下面的摘录“book.xml”),一些是由OxygenXML生成的(下面的第二个摘录)。后者是使用OxygenXML将XSD模式传输到docbook中的。因为氧气在这里没有选择,所以它总是产生一个docbook“文章”。
包含这些文章的文件是docbook“book”。然而,包含会产生错误:第一个错误表明:
element "article" from namespace "http://docbook.org/ns/docbook"
not allowed in this context
我的书。xml:
<?xml version="1.0" encoding="utf-8"?>
<book version="5.1" xml:lang="en" xmlns="http://docbook.org/ns/docbook"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink2="http://www.w3.org/1999/xlink"
xmlns:xlink="http://www.w3.org/1999/xhtml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:ns6="http://www.w3.org/2000/svg"
xmlns:ns5="http://www.w3.org/1998/Math/MathML"
xmlns:ns2="http://docbook.org/ns/transclusion"
xmlns:ns="http://docbook.org/ns/docbook">
<title>xyz</title>
<chapter>
<title>my xsd previously rendered by oxygen</title>
<xi:include href="generated_schemata/my_xsd.xml"/>
</chapter>
...
以及生成的my\u xsd的开头。xml:
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" type="xml"?>
<!--XML Schema documentation generated by <oXygen/> XML Developer.-->
<article version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:ns5="http://www.w3.org/1998/Math/MathML"
xmlns:ns4="http://www.w3.org/1999/xhtml"
xmlns:ns3="http://www.w3.org/2000/svg"
xmlns:ns2="http://www.w3.org/1999/xlink"
xmlns:ns="http://docbook.org/ns/docbook">
<title>Schema documentation for ServiceCatalogue.xsd</title>
<info>
<pubdate>february 20, 2018</pubdate>
</info>
<section>
<title>Namespace: ""</title>
...
问:有没有办法将docbook的“文章”包含到“书”中(或者其他结构,所以最后我会得到一个PDF)?
我使用的工具是maven和docbkx插件。