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

Reply via email to