2016-12-08 7 views
-1

Я пытаюсь отследить следующую ошибку в файле fo [*]. Поскольку в сообщении об ошибке нет контекста, я не понимаю, как я должен искать корневую проблему.Таблица-ячейка охватывает больше строк, чем доступно в ее родительском элементе

Файл Ф.О. был сформирован из надлежащего (по крайней мере в XSD проверки) DocBook 5 файл, но сгенерированный Ф.О. файл не является правильным:

$ xmllint --nonet --noout --schema /usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd source/docbook/part02/part02.xml 
source/docbook/part02/part02.xml validates 

Как бы один поиск корневой вопрос (уровень DocBook) из входного файла 3.2M XML-FO?

$ du -sh bla.fo 
3.2M bla.fo 

[*]

$ fop -d bla.fo bla.pdf 
[ERROR] FOP - Exception <org.apache.fop.apps.FOPException: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element.>org.apache.fop.apps.FOPException: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
    at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:288) 
    at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115) 
    at org.apache.fop.cli.Main.startFOP(Main.java:186) 
    at org.apache.fop.cli.Main.main(Main.java:217) 
Caused by: javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
    at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:502) 
    at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:285) 
    ... 3 more 
Caused by: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
    at org.apache.fop.fo.flow.table.FixedColRowGroupBuilder.endTablePart(FixedColRowGroupBuilder.java:183) 
    at org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$6.play(VariableColRowGroupBuilder.java:107) 
    at org.apache.fop.fo.flow.table.VariableColRowGroupBuilder.endTable(VariableColRowGroupBuilder.java:116) 
    at org.apache.fop.fo.flow.table.Table.finalizeNode(Table.java:260) 
    at org.apache.fop.fo.FONode.endOfNode(FONode.java:330) 
    at org.apache.fop.fo.flow.table.Table.endOfNode(Table.java:243) 
    at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:360) 
    at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190) 
    at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102) 
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) 
    at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source) 
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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 org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485) 
    ... 4 more 

--------- 

javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
    at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:502) 
    at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:285) 
    at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115) 
    at org.apache.fop.cli.Main.startFOP(Main.java:186) 
    at org.apache.fop.cli.Main.main(Main.java:217) 
Caused by: org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
    at org.apache.fop.fo.flow.table.FixedColRowGroupBuilder.endTablePart(FixedColRowGroupBuilder.java:183) 
    at org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$6.play(VariableColRowGroupBuilder.java:107) 
    at org.apache.fop.fo.flow.table.VariableColRowGroupBuilder.endTable(VariableColRowGroupBuilder.java:116) 
    at org.apache.fop.fo.flow.table.Table.finalizeNode(Table.java:260) 
    at org.apache.fop.fo.FONode.endOfNode(FONode.java:330) 
    at org.apache.fop.fo.flow.table.Table.endOfNode(Table.java:243) 
    at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:360) 
    at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190) 
    at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102) 
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) 
    at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source) 
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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 org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485) 
    ... 4 more 
--------- 
org.apache.fop.fo.ValidationException: A table-cell is spanning more rows than available in its parent element. 
    at org.apache.fop.fo.flow.table.FixedColRowGroupBuilder.endTablePart(FixedColRowGroupBuilder.java:183) 
    at org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$6.play(VariableColRowGroupBuilder.java:107) 
    at org.apache.fop.fo.flow.table.VariableColRowGroupBuilder.endTable(VariableColRowGroupBuilder.java:116) 
    at org.apache.fop.fo.flow.table.Table.finalizeNode(Table.java:260) 
    at org.apache.fop.fo.FONode.endOfNode(FONode.java:330) 
    at org.apache.fop.fo.flow.table.Table.endOfNode(Table.java:243) 
    at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:360) 
    at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190) 
    at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102) 
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) 
    at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source) 
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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 org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485) 
    at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:285) 
    at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115) 
    at org.apache.fop.cli.Main.startFOP(Main.java:186) 
    at org.apache.fop.cli.Main.main(Main.java:217) 
+1

Открыть FO в верифицирующей редакторе, например кислород и посмотреть, где ошибка –

+0

Обновлено здесь http://stackoverflow.com/questions/41123392/detecting-table -ошибка-в-Docbook-5-0-документа – malat

ответ