Me encuentro desarrollando en java y utilizando el API Odfdom para poder insertar campos de usuario en un documento vacío de Open Writer.
Sucede que al ingresarlos Open Writer no los detecta, quedan insertos en el archivo content.xml del archivo ODT, pero al ir al menú Insetar-> Campos -> Otros -> Predeterminaciones, no muestra los campos de usuario insertados.
Alguien sabe como dar de alta el nodo OdfUserFieldDecls en el documento? Aparentemente ese es el problema
Muchas gracias
Aqui esta el código:
OdfDocument doc = (OdfDocument) OdfDocument.loadDocument(pathODT);
OdfFileDom domContent = doc.getContentDom();
//Obtener los nombres de tags de XML del Documento Open Writer
XPath xpath;
xpath = XPathFactory.newInstance().newXPath();
xpath.setNamespaceContext(new OdfNamespace());
// Obtengo el objeto raiz del texto
Object obj = xpath.evaluate("//office:text", domContent, XPathConstants.NODE);
OdfText odfText = (OdfText) obj;
// Obtengo las declaraciones de campos
obj = xpath.evaluate("text:user-field-decls", odfText, XPathConstants.NODE);
OdfUserFieldDecls fieldDecls;
fieldDecls = domContent.createOdfElement(OdfUserFieldDecls.class);
odfText.appendChild(fieldDecls);
NodeList nodos = (NodeList) xpath.evaluate("/office:document-content/office:body/office:text//text:user-field-decl", domContent, XPathConstants.NODESET);
Node nodo;
String nombre;
// Inserto el nuevo ClaveAutenticacion
OdfUserFieldDecl fieldDecl = domContent.createOdfElement(OdfUserFieldDecl.class);
fieldDecl.setValueType(OdfValueType.STRING);
fieldDecl.setStringValue(claveAutenticacion);
fieldDecl.setName("ClaveAutenticacion");
fieldDecls.appendChild(fieldDecl);