daps
daps copied to clipboard
Can't compile against latest libxslt 1.1.35+: missing href attribute in MAIN.DAPS.xml generated xi:includes
Problem description
When compiling with libxslt 1.1.35 it fails while validating some XML (MAIN.DAPS.xml).
After some investigation and comparing to when that file is created using 1.1.34, the issue seems related to missing hrefs in xi:includes, but I didn't find/know how the mechanism to build these files work.
Here are the differences.
- xml file compiled against 1.1.35 (note missing hrefs in xi:includes):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<set lang="en">
<title>DAPS Documentation</title>
<setinfo>
<keywordset>
<keyword>DAPS</keyword>
<keyword>DocBook Authoring and Publishing Suite</keyword>
<keyword>DocBook</keyword>
<keyword>XML</keyword>
<keyword>Tool chain</keyword>
<keyword>Command Line</keyword>
</keywordset>
<productname class="trade">DAPS</productname>
<productnumber>3.3.1</productnumber>
</setinfo>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
</set>
- And here is the same file, but compiled against 1.1.34:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<set lang="en">
<title>DAPS Documentation</title>
<setinfo>
<keywordset>
<keyword>DAPS</keyword>
<keyword>DocBook Authoring and Publishing Suite</keyword>
<keyword>DocBook</keyword>
<keyword>XML</keyword>
<keyword>Tool chain</keyword>
<keyword>Command Line</keyword>
</keywordset>
<productname class="trade">DAPS</productname>
<productnumber>3.3.1</productnumber>
</setinfo>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="book_daps_user.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="book_daps_quickstarts.xml"/>
</set>
- Reported error during build (due to issue in point 1):
[ 126s] /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:19: element include: XInclude error : detected a local recursion with no xpointer in /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:21: element include: XInclude error : detected a local recursion with no xpointer in /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:5: element set: validity error : Element set content does not follow the DTD, expecting ((title , subtitle? , titleabbrev?)? , setinfo? , toc? , (set | book)+ , setindex?), got (title setinfo xi:include xi:include ) /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:19: element include: validity error : No declaration for element include /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:19: element include: validity error : No declaration for attribute xmlns:xi of element include /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:21: element include: validity error : No declaration for element include /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:21: element include: validity error : No declaration for attribute xmlns:xi of element include Document /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml does not validate
[ 126s] --------------------------------
[ 126s] Fatal error: The following tables contain errors:
[ 126s] detected a local recursion with no xpointer in /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml, line 19
[ 126s] Error checking file /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml:
[ 126s] Traceback (most recent call last):
[ 126s] File /home/abuild/rpmbuild/BUILD/daps-3.3.1/libexec/validate-tables.py, line 445, in check_file
[ 126s] xml.xinclude()
[ 126s] File src/lxml/etree.pyx, line 2381, in lxml.etree._ElementTree.xinclude
[ 126s] File src/lxml/xinclude.pxi, line 64, in lxml.etree.XInclude.__call__
[ 126s] lxml.etree.XIncludeError: detected a local recursion with no xpointer in /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_quick/MAIN.DAPS.xml, line 19
[ 126s]
[ 126s] During handling of the above exception, another exception occurred:
[ 126s]
[ 126s] Traceback (most recent call last):
[ 126s] File /home/abuild/rpmbuild/BUILD/daps-3.3.1/libexec/validate-tables.py, line 464, in <module>
[ 126s] ret |= check_file(filename)
[ 126s] File /home/abuild/rpmbuild/BUILD/daps-3.3.1/libexec/validate-tables.py, line 448, in check_file
[ 126s] sys.exit(10)
[ 126s] SystemExit: 10
Expected behavior
The compilation works.
Steps to reproduce problem
Just build against the latest 1.1.35. You can see all logs in the following test repository: https://build.opensuse.org/package/live_build_log/home:david.anes:daps_test/daps/openSUSE_Factory/x86_64
With the help of @tomschr, I tried to discard issues by running xmllint and xlstproc manually.
Here are the results for the following commands:
xsltproc --xinclude --output /tmp/xslt-resolved.xml ../daps-xslt/common/reduce-from-set.xsl xml/MAIN.DAPS.xml
xslt-resolved.xml.txt
xmllint --noent --postvalid --xinclude --output /tmp/xinclude-resolved.xml xml/MAIN.DAPS.xml
xinclude-resolved.xml.txt
Apparently, both utilities (compiled against 1.1.35 and latest libxml2) work correctly.
I'm not sure why, but the issue remains the same: the XML file within .profiled lacks href
attribute in xi:includes
Greetings,
I would like to comment about this issue, that I seem to encounter also while building DAPS for Debian GNU/Linux (I package DAPS for official Debian). Please, bear with me while I show everything I do:
First, software versions (Debian unstable, latest):
- libxslt1.1:amd64 1.1.35-1
- xsltproc 1.1.35-1
Output of ./configure
./configure
checking whether to enable maintainer-specific portions of Makefiles... no
configure:
Configuring DAPS 3.3.1, the DocBook Authoring and Publishing Suite...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for bash version... 5.1.16(1)-release
checking for make... /usr/bin/make
checking for tar... /bin/tar
checking for bzip2... /bin/bzip2
checking for asciidoctor... /usr/bin/asciidoctor
checking for ditaa... /usr/bin/ditaa
checking for epubcheck... /usr/bin/epubcheck
checking for checkbot... 0
checking for remake... /usr/bin/remake
checking for w3m... /usr/bin/w3m
configure: ===== Checking for XML tools...
checking for xmllint... /usr/bin/xmllint
checking for xsltproc... /usr/bin/xsltproc
checking for xmlcatalog... /usr/bin/xmlcatalog
checking for fop... /usr/bin/fop
checking for jing... /usr/bin/jing
checking for trang... /usr/bin/trang
checking for /etc/xml/catalog... yes
configure: ===== Checking for Image conversion tools...
checking for convert... /usr/bin/convert
checking for dia... /usr/bin/dia
checking for exiftool... /usr/bin/exiftool
checking for inkscape... /usr/bin/inkscape
checking for optipng... /usr/bin/optipng
checking for lodraw... /usr/bin/lodraw
checking for pdffonts... /usr/bin/pdffonts
checking for -//W3C//DTD SVG 1.0//EN... yes
checking for -//W3C//DTD SVG 1.1 Basic//EN... no
configure: ===== Checking for Python modules...
checking for a Python interpreter with version >= 3.4... python3
checking for python3... /usr/bin/python3
checking for python3 version... 3.10
checking for python3 platform... linux
checking for GNU default python3 prefix... ${prefix}
checking for GNU default python3 exec_prefix... ${exec_prefix}
checking for python3 script directory (pythondir)... ${PYTHON_PREFIX}/local/lib/python3.10/dist-packages
checking for python3 extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/local/lib/python3.10/dist-packages
checking python3 module: lxml... yes
configure: ===== Checking for DocBook 4.x...
checking for -//OASIS//DTD DocBook XML V4.1.2//EN... yes
checking for -//OASIS//DTD DocBook XML V4.2//EN... yes
checking for -//OASIS//DTD DocBook XML V4.3//EN... yes
checking for -//OASIS//DTD DocBook XML V4.4//EN... yes
checking for -//OASIS//DTD DocBook XML V4.5//EN... yes
configure: ===== Checking for additional DocBook 4.5 identifiers (optional)...
checking for -//OASIS//ELEMENTS DocBook Information Pool V4.5//EN... yes
checking for -//OASIS//ENTITIES DocBook Character Entities V4.5//EN... yes
checking for -//OASIS//ENTITIES DocBook Notations V4.5//EN... yes
checking for -//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN... yes
checking for -//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN... yes
checking for -//OASIS//DTD DocBook CALS Table Model V4.5//EN... yes
checking for -//OASIS//DTD XML Exchange Table Model 19990315//EN... yes
configure: ===== Checking for ISO Entities identifiers...
checking for ISO 8879:1986//ENTITIES Publishing//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Greek Letters//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Greek Symbols//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML... yes
checking for ISO 8879:1986//ENTITIES General Technical//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Latin 1//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Latin 2//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML... yes
checking for ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML... yes
configure: ===== Checking for DocBook 5.0...
checking for http://docbook.org/xml/5.0/rng/docbookxi.rng... yes
checking for http://docbook.org/xml/5.0/rng/docbookxi.rnc... yes
checking for http://docbook.org/xml/5.0/rng/docbook.rng... yes
checking for http://docbook.org/xml/5.0/rng/docbook.rnc... yes
configure: ===== Checking for DocBook 5.1...
checking for http://docbook.org/xml/5.1/rng/docbookxi.rng... no
checking for http://docbook.org/xml/5.1/rng/docbookxi.rnc... no
checking for http://docbook.org/xml/5.1/rng/docbook.rng... no
checking for http://docbook.org/xml/5.1/rng/docbook.rnc... no
checking for http://docbook.org/xml/5.1/rng/assembly.rng... no
checking for http://docbook.org/xml/5.1/rng/assembly.rnc... no
checking for http://docbook.org/xml/5.1/rng/dbits.rng... no
checking for http://docbook.org/xml/5.1/rng/dbits.rnc... no
configure: WARNING: Seems you do not have DocBook 5.1 installed.
configure: ===== Checking for DocBook XSL Stylesheets...
checking for http://docbook.sourceforge.net/release/xsl/current/common/common.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/epub/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/lib/lib.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/profiling/profile.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/common/common.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/epub/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/fo/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/html/chunk.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/html/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/lib/lib.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/profiling/profile.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/xhtml/chunk.xsl... yes
checking for http://docbook.sourceforge.net/release/xsl-ns/current/xhtml/docbook.xsl... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/xml/entity-decl.ent
DAPS 3.3.1 is configured as follows. Please verify that this configuration matches
your expectations.
Supported features
------------------
* DocBook 4/5 support * man pages output
* HTML/single HTML output * webhelp output (experimental)
* ePUB output * png and jpg images
Optional features
-----------------
Feature | Enabled | Action to enable
..............................................................................
DocBook 5.0 support | yes |
DocBook 5.1 support | no | install DocBook 5.1, the
| | DocBook 5 XSL stylesheets,
| | and jing
Support AsciiDoc sources | yes |
Create ASCII txt output | yes |
Create PDF output | yes |
Support for .dia images | yes |
Support for .ditaa images | yes |
Support for .odg images | yes |
Support for .svg images | yes |
Size optimization for .png | yes |
Check links in XML sources | no | install checkbot
Create distributable archives | yes |
Validate generated ePUB files | yes |
Show fonts not embedded in PDFs | yes |
Enhanced debugging | yes |
DAPS will be installed into the following paths:
------------------------------------------------
Executables : /usr/bin
System wide config files: /usr/etc/daps
Documentation : /usr/share/doc/daps
Everything else : /usr/share/daps
Everything seems to be fine.
Now, build:
Output of make
$ make
make[1]: Entering directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
test -z "build" || /bin/mkdir -p build
touch build/.firstbuild
make[2]: Entering directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
/bin/sh: 1: [: 1.5.7 2.0.16: unexpected operator
make[2]: Leaving directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
make[2]: Entering directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
Single HTML book built with REMARKS=0, DRAFT=no and META=0:
/home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/daps-asciidoc/single-html/daps-asciidoc/
make[2]: Leaving directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
Created doc/build/daps-asciidoc/single-html/daps-asciidoc/daps-asciidoc.html
make[2]: Entering directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
Fatal error: The document contains XML errors:
/home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:19: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:21: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:5: element set: validity error : Element set content does not follow the DTD, expecting ((title , subtitle? , titleabbrev?)? , setinfo? , toc? , (set | book)+ , setindex?), got (title setinfo xi:include xi:include ) /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:19: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:19: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:21: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:21: element include: validity error : No declaration for attribute xmlns:xi of element include Document /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml does not validate
--------------------------------
Fatal error: The following tables contain errors:
detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml, line 19
Error checking file /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:
Traceback (most recent call last):
File /home/rusconi/devel/daps/build-area/daps-3.3.1/libexec/validate-tables.py, line 445, in check_file
xml.xinclude()
File src/lxml/etree.pyx, line 2383, in lxml.etree._ElementTree.xinclude
File src/lxml/xinclude.pxi, line 64, in lxml.etree.XInclude.__call__
lxml.etree.XIncludeError: detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml, line 19
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File /home/rusconi/devel/daps/build-area/daps-3.3.1/libexec/validate-tables.py, line 464, in <module>
ret |= check_file(filename)
File /home/rusconi/devel/daps/build-area/daps-3.3.1/libexec/validate-tables.py, line 448, in check_file
sys.exit(10)
SystemExit: 10
--------------------------------
Document does not validate!
make[2]: *** [/home/rusconi/devel/daps/build-area/daps-3.3.1/make/validate.mk:71: /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/.validate] Error 1
make[2]: Leaving directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
make[1]: *** [Makefile:1823: doc/build/daps-user/single-html/daps-user/daps-user.html] Error 1
make[1]: Leaving directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
make: *** [Makefile:1229: all-recursive] Error 1
The MAIN.DAPS.xml file mentioned by @kraptor is effectively missing the href attribute:
/home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<set lang="en">
<title>DAPS Documentation</title>
<setinfo>
<keywordset>
<keyword>DAPS</keyword>
<keyword>DocBook Authoring and Publishing Suite</keyword>
<keyword>DocBook</keyword>
<keyword>XML</keyword>
<keyword>Tool chain</keyword>
<keyword>Command Line</keyword>
</keywordset>
<productname class="trade">DAPS</productname>
<productnumber>3.3.1</productnumber>
</setinfo>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
</set>
If I add the href attribute manually, like so for both lines above:
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="book_daps_user.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="book_daps_quickstarts.xml"/>
And then, I compile:
Compile
$ make
make[1]: Entering directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
touch build/.firstbuild
make[2]: Entering directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
Fatal error: The document contains XML errors:
/home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:24: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:45: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:46: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:47: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:50: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:51: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:52: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:53: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:54: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:55: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:56: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:57: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:58: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:59: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:62: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:63: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:64: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml:67: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_user.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml:26: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml:28: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml:29: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml:32: element include: XInclude error : detected a local recursion with no xpointer in /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/book_daps_quickstarts.xml /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:5: element book: validity error : Element book content does not follow the DTD, expecting ((title , subtitle? , titleabbrev?)? , bookinfo? , (dedication | toc | lot | glossary | bibliography | preface | chapter | reference | part | article | appendix | index | setindex | colophon)*), got (title bookinfo xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include xi:include ) /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:7: element bookinfo: validity error : Element bookinfo content does not follow the DTD, expecting (graphic | mediaobject | legalnotice | modespec | subjectset | keywordset | itermset | abbrev | abstract | address | artpagenums | author | authorgroup | authorinitials | bibliomisc | biblioset | collab | confgroup | contractnum | contractsponsor | copyright | corpauthor | corpname | corpcredit | date | edition | editor | invpartnumber | isbn | issn | issuenum | orgname | biblioid | citebiblioid | bibliosource | bibliorelation | bibliocoverage | othercredit | pagenums | printhistory | productname | productnumber | pubdate | publisher | publishername | pubsnumber | releaseinfo | revhistory | seriesvolnums | subtitle | title | titleabbrev | volumenum | citetitle | personname | honorific | firstname | surname | lineage | othername | affiliation | authorblurb | contrib | indexterm)+, got (productname productnumber authorgroup othercredit othercredit releaseinfo date xi:include keywordset abstract ) /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:24: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:24: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:45: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:45: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:46: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:46: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:47: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:47: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:50: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:50: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:51: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:51: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:52: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:52: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:53: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:53: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:54: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:54: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:55: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:55: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:56: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:56: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:57: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:57: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:58: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:58: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:59: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:59: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:62: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:62: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:63: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:63: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:64: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:64: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:67: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:67: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:5: element book: validity error : Element book content does not follow the DTD, expecting ((title , subtitle? , titleabbrev?)? , bookinfo? , (dedication | toc | lot | glossary | bibliography | preface | chapter | reference | part | article | appendix | index | setindex | colophon)*), got (title bookinfo xi:include xi:include article ) /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:7: element bookinfo: validity error : Element bookinfo content does not follow the DTD, expecting (graphic | mediaobject | legalnotice | modespec | subjectset | keywordset | itermset | abbrev | abstract | address | artpagenums | author | authorgroup | authorinitials | bibliomisc | biblioset | collab | confgroup | contractnum | contractsponsor | copyright | corpauthor | corpname | corpcredit | date | edition | editor | invpartnumber | isbn | issn | issuenum | orgname | biblioid | citebiblioid | bibliosource | bibliorelation | bibliocoverage | othercredit | pagenums | printhistory | productname | productnumber | pubdate | publisher | publishername | pubsnumber | releaseinfo | revhistory | seriesvolnums | subtitle | title | titleabbrev | volumenum | citetitle | personname | honorific | firstname | surname | lineage | othername | affiliation | authorblurb | contrib | indexterm)+, got (productname productnumber date keywordset abstract xi:include ) /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:26: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:26: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:28: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:28: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:29: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:29: element include: validity error : No declaration for attribute xmlns:xi of element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:30: element article: validity error : Element article content does not follow the DTD, expecting ((title , subtitle? , titleabbrev?)? , articleinfo? , tocchap? , lot* , (((calloutlist | glosslist | bibliolist | itemizedlist | orderedlist | segmentedlist | simplelist | variablelist | caution | important | note | tip | warning | literallayout | programlisting | programlistingco | screen | screenco | screenshot | synopsis | cmdsynopsis | funcsynopsis | classsynopsis | fieldsynopsis | constructorsynopsis | destructorsynopsis | methodsynopsis | formalpara | para | simpara | address | blockquote | graphic | graphicco | mediaobject | mediaobjectco | informalequation | informalexample | informalfigure | informaltable | equation | example | figure | table | msgset | procedure | sidebar | qandaset | task | anchor | bridgehead | remark | highlights | abstract | authorblurb | epigraph | indexterm | beginpage)+ , (sect1* | refentry* | simplesect* | section*)) | sect1+ | refentry+ | simplesect+ | section+) , (toc | lot | index | glossary | bibliography | appendix | colophon | ackno)*), got (title xi:include ) /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:32: element include: validity error : No declaration for element include /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml:32: element include: validity error : No declaration for attribute xmlns:xi of element include Document /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/MAIN.DAPS.xml does not validate
--------------------------------
Document does not validate!
make[2]: *** [/home/rusconi/devel/daps/build-area/daps-3.3.1/make/validate.mk:71: /home/rusconi/devel/daps/build-area/daps-3.3.1/doc/build/.profiled/x86_amd64_em64t_osuse_noquick/.validate] Error 1
make[2]: Leaving directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
make[1]: *** [Makefile:1823: doc/build/daps-user/single-html/daps-user/daps-user.html] Error 1
make[1]: Leaving directory '/home/rusconi/devel/daps/build-area/daps-3.3.1'
make: *** [Makefile:1229: all-recursive] Error 1
What is interesting is that looking at the failing files:
Failing files
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<book xml:base="book_daps_user.xml" lang="en" id="book.daps.user">
<title>User Guide</title>
<bookinfo>
<productname class="trade">DAPS</productname>
<productnumber>3.3.1</productnumber>
<authorgroup>
<author><firstname>Tanja</firstname><surname>Roth</surname><email>[email protected]</email>
</author>
<author><firstname>Stefan</firstname><surname>Knorr</surname><email>[email protected]</email>
</author>
</authorgroup>
<othercredit><firstname>Thomas</firstname><surname>Schraitle</surname>
<contrib>Technical review</contrib>
</othercredit>
<othercredit><firstname>Frank</firstname><surname>Sundermeyer</surname>
<contrib>Technical review</contrib>
</othercredit>
<releaseinfo>3.3.1</releaseinfo>
<date><?dbtimestamp?></date>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<keywordset>
<keyword>DAPS</keyword>
<keyword>DocBook Authoring and Publishing Suite</keyword>
<keyword>DocBook</keyword>
<keyword>XML</keyword>
<keyword>Toolchain</keyword>
<keyword>User Guide</keyword>
</keywordset>
<abstract>
<para>(<ulink url="pdf/book.daps.user_color_en.pdf">PDF</ulink>)</para>
<para>DAPS (DocBook Authoring and Publishing Suite) helps technical writers to author and publish documentation written in
DocBook XML. DAPS is a command line based software for Linux* and released
as open source.</para>
<para>The DAPS User Guide is a comprehensive guide for technical writers using DAPS.
It guides you through creating, editing, managing and publishing your
documents—be it a short article by a single author or a large
documentation project written by multiple authors.</para>
</abstract>
</bookinfo>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
</book>
There are many <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
identical instances.
What might be the cause for this weird behaviour ?
I am ready to provide more details on request, as I really would like this fine piece of software to be included in the next stable release of Debian.
Sincerely,
Filippo Rusconi
@lopippo Do you mind to reformat your comment a little bit?
Besides that, I've been on/off trying to find the issue but I couldn't, so we need a DAPS developer to step in. :(
Thanks @lopippo for your detailed report.
Do you mind to reformat your comment a little bit?
I've updated Filippo's comment. It should be now more readable. :slightly_smiling_face:
Greetings @tomschr ! Long time no hear :-) Sorry, I was trying to fix the formatting also. Hope, the mixed results are readable :-) Cheers, Filippo
Greetings @lopippo! :wave: Hehe, that's true.
I've used <details>
tag to make the long listings foldable. To unfold it, use the arrow. All fine. :slightly_smiling_face:
Greetings @lopippo! wave Hehe, that's true.
I've used
<details>
tag to make the long listings foldable. To unfold it, use the arrow. All fine. slightly_smiling_face
Thank you :-)
Sorry for not having looked into this issue before. ATM there is no libxslt1 1.1.35 package available for openSUSE. @tomschr and me will first try to update the existing 1.1.34 package for openSUSE to see whether the problem exists on openSUSE as well (I assumke it does).
@lopippo and @kraptor : In case you have DocBook5 sources with xi:includes available, would you mind checking if the problem occurs with DocBook5 as well? You can use the git checkout of DAPS as described at the bottom of https://github.com/openSUSE/daps/blob/main/INSTALL.adoc. (The DAPS doc sources are DocBook4. In case this is a libxslt upstream error and this does not occur with DocBook5, I would convert the sources to DocBook5 and stop supporting DocBoook4, I do not belive anyone still uses DocBook4 anyway).
@fsundermeyer there is a package, but it was rejected when I sent to Factory as it was breaking DAPS:
- https://build.opensuse.org/project/show/home:david.anes:daps_test
- https://build.opensuse.org/request/show/965521
Download and test from here: https://build.opensuse.org/package/show/devel:libraries:c_c++/libxslt
Confirming the same problem for openSUSE.
@tomschr Seems it either is an upstream bug introduced in libxslt 1.1.35 or an unnoticed error in our profiling stylesheets that only surfaced with this libxslt version. See https://ftp.fau.de/gnome/sources/libxslt/1.1/libxslt-1.1.35.news for the upstream changelog
During profilng the href attribute of xi:includes gets lost, resulting in e.g.
<xi:include href="common_authors.xml"/> -> <xi:include/>
<xi:include href="book_daps_user.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> -> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"/>
Could you investigate further?
@fsundermeyer: thank you for your answer.
@lopippo and @kraptor : In case you have DocBook5 sources with xi:includes available, would you mind checking if the problem occurs with DocBook5 as well? You can use the git checkout of DAPS as described at the bottom of https://github.com/openSUSE/daps/blob/main/INSTALL.adoc. (The DAPS doc sources are DocBook4. In case this is a libxslt upstream error and this does not occur with DocBook5, I would convert the sources to DocBook5 and stop supporting DocBoook4, I do not belive anyone still uses DocBook4 anyway).
I tried running the process you mention, but I still need to have DocBook4:
configure: error: No DocBook 4 DTD not found
When I install the docbook-xml package (DocBook4.5), and then run make
, I get the same error as described in detail above.
How do I prevent running the code that builds the documentation? That would allow me to go through the build process only with DocBook5 and then I could test my own software user manual code (see http://msxpertsuite.org/user-manuals/pdf/minexpert2-doc.pdf).
Ah, by the way, you mention:
Debian, Fedora, Ubuntu
Not available, yet. Help is appreciated.
Once we have fixed the package build, reference the official daps package for Debian and Ubuntu: see here: https://qa.debian.org/[email protected]
Thank you again for this wonderful package !
Sincerely, Filippo
With the libxslt 1.1.35 package being available for openSUSE I was able to test DocBook4 and DocBook5. the error occurs with both versions.
I've tried to build it for openSUSE Leap 15.3, but it failed. :cry: At the moment, I can't reproduce it on my machine.
Seems it either is an upstream bug introduced in libxslt 1.1.35 or an unnoticed error in our profiling stylesheets that only surfaced with this libxslt version. See https://ftp.fau.de/gnome/sources/libxslt/1.1/libxslt-1.1.35.news for the upstream changelog
The profiling stylesheets (if you mean daps-xslt/profiling/*-profile.xsl
) hasn't been changed for a while (last change was 2020 by Stefan, but that wasn't related to the mentioned files). The respective part which is important is this template:
# File daps-xslt/profiling/base-profile.xsl
<xsl:template match="xi:include/@href|
xi:include/@xpointer|
xi:include/@accept|
xi:include/@accept-language|
xi:include/@parse|
xi:include/@encoding" mode="profile">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
It creates the respective attribute node and fills it with the value. This is standard XSLT, nothing strange. It worked so far, so I suspect this could be an upstream bug.
With the libxslt 1.1.35 package being available for openSUSE I was able to test DocBook4 and DocBook5. the error occurs with both versions.
At least you could confirm it. Thanks Frank!
@lopippo Have you reported that upstream?
@tomschr:
@lopippo Have you reported that upstream?
Well, no ; my first approach was to try and have a clearer view on that apparent bug... Which is starting to occur in this thread.
@tomschr Could you put together a simple test case/script for this and veryify that it behaves differently with 1.1.34 and 1.1.35? We could then use it to ask upstream and/or report a bug
@tomschr Could you put together a simple test case/script for this and veryify that it behaves differently with 1.1.34 and 1.1.35? We could then use it to ask upstream and/or report a bug
I've tested it in one of my already installed virtual machines (openSUSE Leap 15.4). I've started with the following versions:
libxml2-tools-2.9.12-150400.3.4.x86_64
libxslt1-1.1.34-150400.1.7.x86_64
libxslt-tools-1.1.35-lp154.134.1.x86_64
With the above versions it worked. Actually it was a mistake as I only partially updated the packages. For example, I was not able to update libxml2 to 2.9.14 due to some repo glitch. So I've updated to libxslt1-1.1.35-lp154.134.1. Additionally, I got libexslt0-1.1.35-lp154.134.1.x86_64.rpm installed as an additional dependency. With this combination I got your error message from above.
However, although I made a mistake at first, it seems the above error is rooted in libxslt1, not libxml2. When I have finished my other tasks, I can create a small test example.
I am on an up-to-date Tumbleweed. When I install libxslt1-1.1.35 (which does not pull in any dependencies or updates) I get the error. As soon as I replace it with libxslt1-1.1.34 the error is gone.
A new version of libxslt (1.1.36) was released. Tried to build DAPS against the new version, still broken.
Here you can see the build results and errors:
- Build project
-
DAPS build status: (click on each
failed
status to see full build error).
Here you can download 1.1.36 rpm to test/debug the issue:
- https://build.opensuse.org/package/show/devel:libraries:c_c++/libxslt
Any news here? If we can't update libxslt we'll be missing security fixes.
I debugged this a bit. The XSL has:
<xsl:template match="xi:include/@href|
xi:include/@xpointer|
xi:include/@accept|
xi:include/@accept-language|
xi:include/@parse|
xi:include/@encoding" mode="profile">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<!-- Remove any non-XInclude attributes -->
<xsl:template match="xi:include/@*" mode="profile" />
So the xi:include/@href
attribute matches both of those rules. https://www.w3.org/TR/2001/WD-xslt11-20010824/#conflict states that the matching template with the highest priority is used. If there are multiple with the highest priority, the one defined last wins. With xsltproc
's --verbose
option it's visible that both templates get the same priority:
> /usr/bin/xsltproc --verbose --stringparam filename "MAIN.DAPS.xml" --stringparam show.comments "0" --stringparam profile.os "osuse;noquick" --stringparam profile.arch "x86;amd64;em64t" /home/abuild/rpmbuild/BUILD/daps-3.3.1/daps-xslt/profiling/docbook45-profile.xsl /home/abuild/rpmbuild/BUILD/daps-3.3.1/doc/xml/MAIN.DAPS.xml
...
added pattern : 'xi:include/@href' mode 'profile' priority 0.500000
added pattern : ' xi:include/@xpointer' mode 'profile' priority 0.500000
added pattern : ' xi:include/@accept' mode 'profile' priority 0.500000
added pattern : ' xi:include/@accept-language' mode 'profile' priority 0.500000
added pattern : ' xi:include/@parse' mode 'profile' priority 0.500000
added pattern : ' xi:include/@encoding' mode 'profile' priority 0.500000
xsltParseStylesheetTemplate: mode profile
xsltCompilePattern : parsing 'xi:include/@*'
xsltCompilePattern : parsed xi:include/@*, default priority 0.500000
added pattern : 'xi:include/@*' mode 'profile' priority 0.500000
...
Before libxslt 1.1.36 (https://github.com/GNOME/libxslt/commit/b0074eeca3c6b21b4da14fdf712b853900c51635), it took the template above instead.
I'm not sure whether it's correct to give all those patterns the same priority, but if that is the case the fix is to explicitly give the fallback rule a lower priority, i.e.
<!-- Remove any non-XInclude attributes -->
<xsl:template match="xi:include/@*" mode="profile" priority="0"/>
With that, daps builds successfully.
Thanks Fabian for your help. Much appreciated.
So the xi:include/@href attribute matches both of those rules.
Yes, seems xi:include/@*
and xi:include/@href
has the same priority (0.5). I would have expected the more specific pattern ( xi:include/@href
) has a higher precedence.
The XSLT spec in 5.5 Conflict Resolution for Template Rules says:
An XSLT processor may signal the error; if it does not signal the error, it must recover by choosing, from amongst the matching template rules that are left, the one that occurs last in the stylesheet.
For some reason, libxslt has chosen to signal an error. It could have chosen a different conflict resolution strategy.
https://www.w3.org/TR/2001/WD-xslt11-20010824/#conflict
Just a hint of caution: That is an old working draft and is for XSLT 1.1. If I'm not mistaken, the libxslt library still supports XSLT 1.0 only. We shouldn't refer to old working drafts, although for our specific case, it doesn't seem to matter.
I'm not sure whether it's correct to give all those patterns the same priority
Theoretically you could add priority
attributes for every template rule. However, that's not a good idea. You would circumvent the default selection which should be better left to the XSLT processor. You use the priority
attribute only if you have to overwrite the standard selection as an exception, not as a default.
For our specific use case, it's fine to add this single priority
attribute for xi:include/@*
, but not for every template rule. I will create a PR with your suggestion (see #685).
Thanks Fabian!
@kraptor Would you like to test our fix in PR #685 ?
Greetings,
thank you sooo much for the fix! I will thus patch the source code for version 3.3.1 and make a Debian package out of it. That is very cool because a number of packages had to be removed from Debian testing because of that issue.
daps rocks!
Filippo
@kraptor Would you like to test our fix in PR #685 ?
I confirm it works for me and I already sent an updated package to openSUSE. Thanks!