Dear list, I've been working on a new iteration of the DocBook support. It's living in the features.git repo for now, but I think it might require a second look. I tried to keep commits relatively atomic (I was much less cautious about updating the test cases and the comments).
One of the major goals of this refactoring was to make the code much easier to understand. A less major goal was to generate cleaner DocBook (avoid generating too many tags on one line, except for inline tags, like font changes in a paragraph). To this end, I made the make* functions handle only one paragraph at a time, with the exception of makeListEnvironment (it was a nightmare to implement for one paragraph at a time). Here is a list of commits for which I think it would be best if someone could give me feedback (reverse chronological order): ad6783fa26a43a31788a91c2f2ce259f6f800979: DocBook: several missing features for Additional.lyx. Especially about increasing the format number (I'm getting lost in this format, with Style and InsetLayout being handled in completely different parts). 0c5ae88df5ed2e3002e9e182ea08588675485f59: DocBook: rewrite makeListEnvironment. Quite complex logic to handle lists. (It was easier to implement separately from other environments.) In a nutshell: gather all items that are within this list (or deeper), to generate correct output; handle items one by one, to ensure that the correct opening/closing tags are correct. d77d18233f329cd1bd2f2f05778353642863ac6e: Fix compilation The issue I already reported on the list about VC refusing to compile. I suppose this is already merged upstream? 51e1ea67675ce616876764998376ceb751c3987d: DocBook: make Paragraph::simpleDocBookOnePar return a list of paragraphs. Complex logic, quite different from what happened before. This is the cleanest fix I could find to handle InsetNewline, because this concept simply does not exist in DocBook. cd6dd9c95722948b45620216b34ffcdbd1636090: DocBook: allow empty paragraphs before the <info> section. First commit to review. You can safely ignore these commits, as the relevant code is completely rewritten in a later commit (my Git skills are not good enough to allow me to remove them completely from the history…): c46ea5b207ab7b86cd68e04e38bbd684d11062c4: Merge findLastParagraph and findLastBibliographyParagraph to lower code duplication. b18a6c9f0a25d30523f702aa046ac0b467d937a6: DocBook: simplify code to handle abstracts. Right now, with this code, I can generate Additional.lyx with exactly two validation problems: a peculiarity in a list, and a mix between a frameless box and shapepar. I don't know if it's really useful to deal with them, as they seem to be very specific issues. Thanks for having read this long message :)! Thibaut
-- lyx-devel mailing list lyx-devel@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-devel