
I have the following document: <?xml version="1.0" encoding="UTF-8"?> <?xml-model href="http://docbook.org/xml/5.1/rng/docbookxi.rng" schematypens="http://relaxng.org/ns/structure/1.0"?> <?xml-model href="http://docbook.org/xml/5.1/sch/docbook.sch" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?> <?xml-stylesheet type="text/xsl" href="../xslt/fo/Falterbuechlein.xsl"?> <book xmlns="http://docbook.org/ns/docbook" xml:lang="de" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.1"> <info> <title>Falter in Urseetal 2018</title> <subtitle/> <author> <personname> <surname>Kleine</surname> </personname> <address> <city>Lenzkirch</city> </address> <email>bernhard.kleine@gmx.net</email> </author> </info> <preface> <title>Vorwort</title> </preface> <chapter> <title>Tagfalter</title> <sect1 xml:id="Hesperiidae"> <title>Hesperiidae<indexterm type="science"><primary>Hesperiidae</primary></indexterm> — Dickkopffalter<indexterm> <primary>Dickkopffalter</primary></indexterm></title> <sect2> <title>Kleiner Würfeldickkopffalter</title><indexterm><primary>Kleiner Würfeldickkopffalter</primary></indexterm> <para> <emphasis role="bold">Pyrgus malvae</emphasis><indexterm type="science"><primary>Pyrgus malvae</primary></indexterm> </para> <para>Flugzeit: Mitte April bis Mitte Juli</para> </sect2> </sect1> </chapter> <index type="science"> <title>Wissenschaftliches Namesverzeichnis</title> </index> <index/> </book> Transforming this with FOP gives an error:
The process 'Apache FOP' ended with code: 1. The error was: ERROR - net.sf.saxon.trans.XPathException: org.apache.fop.fo.ValidationException: Property ID "ientry-d5e19" (found on "fo:block") previously used; ID values must be unique within a document! (Siehe Position 3:20133) ERROR - Exception org.apache.fop.apps.FOPException: org.apache.fop.fo.ValidationException: Property ID "ientry-d5e19" (found on "fo:block") previously used; ID values must be unique within a document! (Siehe Position 3:20133) net.sf.saxon.trans.XPathException: org.apache.fop.fo.ValidationException: Property ID "ientry-d5e19" (found on "fo:block") previously used; ID values must be unique within a document! (Siehe Position 3:20133) at org.apache.fop.cli.InputHandlerFOP.transformTo(Unknown Source) at org.apache.fop.cli.InputHandlerFOP.renderTo(Unknown Source) at org.apache.fop.cli.Main.startFOP(Main.java:186) at org.apache.fop.cli.Main.main(Main.java:217) Caused by: net.sf.saxon.trans.XPathException: org.apache.fop.fo.ValidationException: Property ID "ientry-d5e19" (found on "fo:block") previously used; ID values must be unique within a document! (Siehe Position 3:20133) at net.sf.saxon.event.ContentHandlerProxy.handleSAXException(Unknown Source) at net.sf.saxon.event.ContentHandlerProxy.startContent(Unknown Source) at net.sf.saxon.event.NamespaceReducer.startContent(NamespaceReducer.java:213) at net.sf.saxon.event.ComplexContentOutputter.startContent(ComplexContentOutputter.java:721) at net.sf.saxon.event.ReceivingContentHandler.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:427) at net.sf.saxon.event.Sender.send(Sender.java:138) at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:383) ... 4 more Caused by: org.apache.fop.fo.ValidationException: Property ID "ientry-d5e19" (found on "fo:block") previously used; ID values must be unique within a document! (Siehe Position 3:20133) at org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38) at org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:58) at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:173) at com.sun.proxy.$Proxy4.idNotUnique(Unknown Source) at org.apache.fop.fo.FObj.checkId(FObj.java:202) at org.apache.fop.fo.FObj.startOfNode(FObj.java:183) at org.apache.fop.fo.flow.Block.startOfNode(Block.java:144) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:337) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:179) ... 21 more
Commenting the lines <!-- <index type="science"> <title>Wissenschaftliches Namesverzeichnis</title> </index>--> gets rid of the error, but the scientific names are not separated in the index from the German ones. The construction is according to page 312 of Docbook XSLT by Bob Stayton. What did I wrong? Regards Bernhard -- spitzhalde9 D-79853 lenzkirch bernhard.kleine@gmx.net www.b-kleine.com, www.urseetal.net - thunderbird mit enigmail GPG schlüssel: D5257409 fingerprint: 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09