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

Reply via email to