That was basically my plan as far as I had thought it through--an end note class is probably functionally identical to existing footnote--it's really only the containing part that's different as far as I can tell from my initial (brief) reading of the OOXML spec.
Cheers, E. -- Eliot Kimber http://contrext.com On 7/21/18, 12:16 PM, "Mark Murphy" <jmarkmur...@gmail.com> wrote: Since footnotes and endnotes have essentially the same functionality, it might be good to create a single abstract class that handles the common bits. Then it should be trivial to extend the process for endnotes. On Sat, Jul 21, 2018, 7:10 AM Eliot Kimber <ekim...@contrext.com> wrote: > Reviewing the OOXML specs it is the case that the current XWPF API does > not accommodate end notes as it should. > > There needs to be separate XWPFEndnotes and XWPFEndnote classes and > document- and section-level code to create and manage them. > > I can take that on as a separate activity once we're happy with the > enhanced bottom-of-the-page API I'm working on now. > > I imagine that for most POI users end notes are an edge case--that's > definitely the case for my current client, which does not (normally) use > end notes. My client is a publisher that manages municipal code for several > thousand cities and counties. They need to generate Word documents that > reflect the printed code as closely as possible in terms of structure and > content (but not necessarily page layout details). All the codes have > bottom-of-the-page footnotes but a few might also use end notes (although I > haven't seen that yet in any of the samples). > > I've had Publishing clients in the past who did use end notes (it's fairly > typical for non-fiction books, textbooks, etc.) but none of the those > clients needed to generate Word, only read it in order to create XML from > it and in that context the end note/footnote distinction is not interesting > (because they all become inline footnote markup in the generated XML). > > Cheers, > > Eliot > -- > Eliot Kimber > http://contrext.com > > > On 7/21/18, 5:51 AM, "Eliot Kimber" <ekim...@contrext.com> wrote: > > I'll double check all the relevant methods in the footnote and > footnotes classes. At the moment I'm focused on bottom-of-the-page notes > because that's what I need to generate in the context of my client work > that is motivating these updates but definitely need to make sure end notes > are properly handled. I wanted to get a pull request in before I spent to > much time just to make sure I wasn’t going off the rails somewhere. > > Cheers, > > Eliot > -- > Eliot Kimber > http://contrext.com > > > On 7/20/18, 9:13 PM, "Mark Murphy" <jmarkmur...@gmail.com> wrote: > > Have you looked through XWPFFootnote and XWPFFootnotes? > XWPFDocument has > some code to create footnotes as well, but it appears that > endnotes are > incorrectly references without having a class of thier own. Maybe > you > should try correcting these. > > On Fri, Jul 20, 2018 at 11:47 AM Eliot Kimber < > ekim...@contrext.com> wrote: > > > On IDs, since the ID space is just footnotes, I'm just using the > number of > > footnotes in the Footnotes' footnote list to generate the next > available > > ID. There didn't seem to be a need for more sophistication than > that. > > > > Cheers, > > > > E. > > > > -- > > Eliot Kimber > > http://contrext.com > > > > > > On 7/20/18, 11:06 AM, "Mark Murphy" <jmarkmur...@gmail.com> > wrote: > > > > According to the spec, the id's for footnotes and end notes > are unique > > to > > the note type (footnote or end note). You may want to create > this so > > that > > it can handle footnotes or end notes as there are only > cosmetic > > differences > > between the two. Similar to header/footer. Id's should be > handled > > internally so the user does not have to concern themselves > with them. > > If > > you are looking at header/footer for examples, please do not > generate > > an > > empty paragraph when a footnote or end note is created. This > is too > > limiting because it forces treating the first paragraph > differently > > than > > any potential additional paragraphs when adding content. > > > > Maybe for simplicity it would be nice, for someone creating a > > document, to > > simply be able to insert a footnote or end note with some > text at the > > current location in the paragraph without having to specify > anything > > else. > > The InsertFootnote () method would then do all the necessary > background > > work (create part if necessary, generate the next id, insert > the > > footnote > > reference) and insert the footnote text in the footnote > part. It could > > also > > return the footnote for additional modification like > stylizing or > > adding > > additional paragraphs, tables, images, etc.. > > > > On Fri, Jul 20, 2018 at 5:33 AM Eliot Kimber < > ekim...@contrext.com> > > wrote: > > > > > For footnotes I need to set a unique ID on each > newly-created > > getCTFtnEdn. > > > In my personal code I was maintaining my own global ID > counter that > > I used > > > to set IDs on things. > > > > > > However, I'm not finding a similar mechanism in the POI > code--is > > there one > > > or is there a reliable technique for constructing new IDs, > e.g., > > based on > > > the size of lists of things? I'm pretty sure footnote IDs > only need > > to be > > > unique across the footnotes but I'm not 100% sure on the > general > > semantics > > > of IDs in OOXML. > > > > > > Searching for "setId" I'm not finding any hits outside the > test > > cases, so > > > either this is something the current API just doesn't need > to do > > (because > > > it doesn’t automatically create objects that require IDs) > or I'm > > missing > > > where ID setting happens. > > > > > > Thanks, > > > > > > Eliot > > > -- > > > Eliot Kimber > > > http://contrext.com > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: user-unsubscr...@poi.apache.org > > > For additional commands, e-mail: user-h...@poi.apache.org > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-unsubscr...@poi.apache.org > > For additional commands, e-mail: user-h...@poi.apache.org > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@poi.apache.org > For additional commands, e-mail: user-h...@poi.apache.org > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@poi.apache.org > For additional commands, e-mail: user-h...@poi.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@poi.apache.org For additional commands, e-mail: user-h...@poi.apache.org