/** FIXME text - needs to trap/check values. * * @param text String content * @return Nodes */ public Nodes makeText(String text) { Nodes nodes = new Nodes(); nodes.append(new Text(text)); return nodes; } /** no-op.
/** callback from element end tag. * * @param element the context element * @return Nodes */ public Nodes finishMakingElement(Element element) { Element parent = stack.pop(); if (current instanceof CMLElement) { // trap exceptions, mainly due to semantics // still trying to work this out // try { ((CMLElement) current).finishMakingElement(parent); // } catch (RuntimeException e) { // LOG.warn("element throws semantic validation problem. " + // "Should be relocated to different places "+e.getMessage()); // } } current = parent; Nodes nodes = new Nodes(); nodes.append(element); return nodes; } /** callback from each attribute.
//WRITER document (odt) Nodes odtScriptNodes = document.query("//text:script[translate(@script:language, 'CIJOPRST', 'cijoprst')='jooscript']", XPATH_CONTEXT); Nodes scriptNodes = odtScriptNodes; //CALC document (ods) Nodes odsPotentialScriptNodes = document.query("//table:table-cell", XPATH_CONTEXT); for(int nodeIndex = 0; nodeIndex < odsPotentialScriptNodes.size(); nodeIndex++){ Element tableCellElement = (Element) odsPotentialScriptNodes.get(nodeIndex); Elements textElements = tableCellElement.getChildElements(); if(textElements.size() > 0 && textElements.get(0).getValue().toLowerCase().startsWith("--!jooscript:")){ String fullScript = textElements.get(0).getValue().substring("--!jooscript:".length()); for(int elementIndex = 1; elementIndex < textElements.size(); elementIndex++){ fullScript += System.getProperty("line.separator") + textElements.get(elementIndex).getValue(); } for(int elementIndex = textElements.size()-1; elementIndex > 0; elementIndex--){ tableCellElement.removeChild(elementIndex); } Element firstTextElement = (Element) tableCellElement.getChild(0); firstTextElement.removeChildren(); firstTextElement.appendChild(fullScript); scriptNodes.append(firstTextElement); } }
public static Nodes normalizeFormatting(final Nodes docs) { Nodes n = new Nodes(); for (int i = 0; i < docs.size(); i++) { n.append(normalizeFormatting(docs.get(i))); } return n; }
/** * <p> * Detaches all children from this node. * </p> * * @return a list of all the children removed in the order they * appeared in the element */ public Nodes removeChildren() { int length = this.getChildCount(); Nodes result = new Nodes(); for (int i = 0; i < length; i++) { Node child = getChild(0); this.removeChild(child); result.append(child); } return result; }
nodes.append(attribute);