When creating new DOCX the XWPFFieldRun class does not work to create 
paragraphs with CTSimpleFields.

The problem is that the field is not written out during commit. The current 
unit test only tests the read path but does not test the write path, which 
would fail.

I'm not sure what the right solution is (or I would have simply implemented it).

This code works:

CTSimpleField ctField = para.getCTP().addNewFldSimple();
                ((XmlObject)ctField).newCursor()
                        .setAttributeText(
                                        QNAME_INSTR_ATT, 
                                        fieldData);

So it's not a critical issue but it's definitely an annoyance in the API that 
you can't create simple fields directly.

I don't have time at the moment to puzzle through this so I was hoping somebody 
might have more cogent ideas about how best to address this in the API. 

But my fear is that addressing this would require serious adjustment or 
extension to the internals of XWPFParagraph.

Ideally I'd like something like:

XWPFSimpleField field = para.createSimpleField("PAGE");

I'd also like XWPF-level support for creating complex fields, but that's more 
involved due to the amorphous nature of complex fields, so I'm really not sure 
what design should be.

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

Reply via email to