def startElementNS(self, tag, qname, attrs): if tag in self.triggers: self.parse = True if self.doc._parsing != "styles.xml" and tag == (OFFICENS, 'font-face-decls'): self.parse = False if self.parse == False: return self.level = self.level + 1 # Add any accumulated text content content = ''.join(self.data) if content: self.parent.addText(content, check_grammar=False) self.data = [] # Create the element attrdict = {} for (att, value) in attrs.items(): attrdict[att] = value try: e = Element(qname=tag, qattributes=attrdict, check_grammar=False) self.curr = e except AttributeError as v: print("Error: %s" % v) if tag == (OFFICENS, 'automatic-styles'): e = self.doc.automaticstyles elif tag == (OFFICENS, 'body'): e = self.doc.body elif tag == (OFFICENS, 'master-styles'): e = self.doc.masterstyles elif tag == (OFFICENS, 'meta'): e = self.doc.meta elif tag == (OFFICENS, 'scripts'): e = self.doc.scripts elif tag == (OFFICENS, 'settings'): e = self.doc.settings elif tag == (OFFICENS, 'styles'): e = self.doc.styles elif self.doc._parsing == "styles.xml" and tag == (OFFICENS, 'font-face-decls'): e = self.doc.fontfacedecls elif hasattr(self, 'parent'): self.parent.addElement(e, check_grammar=False) self.parent = e
def main(): doc = OpenDocumentText() p = P(text=u'text') df = odf.draw.Frame(zindex=0, anchortype='as-char') p.addElement(df) doc.text.addElement(p) formula = u'c=sqrt(a^2+b^2)' math = Math() annot = Element(qname=(MATHNS, u'annotation')) annot.addText(formula, check_grammar=False) annot.setAttribute((MATHNS, 'encoding'), 'StarMath 5.0', check_grammar=False) math.addElement(annot) do = odf.draw.Object() do.addElement(math) df.addElement(do) outputfile = u'result' doc.save(outputfile, True)
def StyleRefElement(stylename=None, classnames=None, **args): qattrs = {} if stylename is not None: f = stylename.getAttrNS(STYLENS, 'family') if f == 'graphic': qattrs[(DRAWNS, u'style-name')] = stylename elif f == 'presentation': qattrs[(PRESENTATIONNS, u'style-name')] = stylename else: raise ValueError( "Style's family must be either 'graphic' or 'presentation'") if classnames is not None: f = classnames[0].getAttrNS(STYLENS, 'family') if f == 'graphic': qattrs[(DRAWNS, u'class-names')] = classnames elif f == 'presentation': qattrs[(PRESENTATIONNS, u'class-names')] = classnames else: raise ValueError( "Style's family must be either 'graphic' or 'presentation'") return Element(qattributes=qattrs, **args)
def EventListener(**args): return Element(qname=(SCRIPTNS, 'event-listener'), **args)
def DataPilotGroup(**args): return Element(qname=(TABLENS, 'data-pilot-group'), **args)
def DataPilotField(**args): return Element(qname=(TABLENS, 'data-pilot-field'), **args)
def CutOffs(**args): return Element(qname=(TABLENS, 'cut-offs'), **args)
def ContentValidations(**args): return Element(qname=(TABLENS, 'content-validations'), **args)
def ChangeTrackTableCell(**args): return Element(qname=(TABLENS, 'change-track-table-cell'), **args)
def TableRows(**args): return Element(qname=(TABLENS, 'table-rows'), **args)
def TableRowGroup(**args): return Element(qname=(TABLENS, 'table-row-group'), **args)
def TableHeaderRows(**args): return Element(qname=(TABLENS, 'table-header-rows'), **args)
def TableHeaderColumns(**args): return Element(qname=(TABLENS, 'table-header-columns'), **args)
def TableColumns(**args): return Element(qname=(TABLENS, 'table-columns'), **args)
def TableColumnGroup(**args): return Element(qname=(TABLENS, 'table-column-group'), **args)
def CellRangeSource(**args): args.setdefault('type', 'simple') return Element(qname=(TABLENS, 'cell-range-source'), **args)
def ChangeDeletion(**args): return Element(qname=(TABLENS, 'change-deletion'), **args)
def TableSource(**args): args.setdefault('type', 'simple') return Element(qname=(TABLENS, 'table-source'), **args)
def Consolidation(**args): return Element(qname=(TABLENS, 'consolidation'), **args)
def TableTemplate(**args): return Element(qname=(TABLENS, 'table-template'), **args)
def CoveredTableCell(**args): return Element(qname=(TABLENS, 'covered-table-cell'), **args)
def TargetRangeAddress(**args): return Element(qname=(TABLENS, 'target-range-address'), **args)
def DataPilotDisplayInfo(**args): return Element(qname=(TABLENS, 'data-pilot-display-info'), **args)
def CellContentChange(**args): return Element(qname=(TABLENS, 'cell-content-change'), **args)
def DataPilotFieldReference(**args): return Element(qname=(TABLENS, 'data-pilot-field-reference'), **args)
def Title(**args): return Element(qname=(TABLENS, 'title'), **args)
def DataPilotGroupMember(**args): return Element(qname=(TABLENS, 'data-pilot-group-member'), **args)
def TrackedChanges(**args): return Element(qname=(TABLENS, 'tracked-changes'), **args)
def Math(**args): return Element(qname = (MATHNS,'math'), **args)
def CellContentDeletion(**args): return Element(qname=(TABLENS, 'cell-content-deletion'), **args)