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