Ignore:
Timestamp:
Sep 25, 2005, 5:35:57 PM (19 years ago)
Author:
Michael Brickenstein <bricken@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
82d1a72c907e4d9593d13fb4216f23d0e65fad42
Parents:
35ad2d7b29d3ac4852f704804d704a4417c383eb
Message:
*bricken real xml encoder


git-svn-id: file:///usr/local/Singular/svn/trunk@8664 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/openmathserver/objects.py

    r35ad2d r666465b  
    44from exceptions import NotImplementedError
    55from copy import copy
     6from xml.sax.xmlreader import AttributesImpl as attr
    67import base64
    78#TODO: OMOBJ, OME, OMATTR
     
    7374            raise UnsupportedOperationError
    7475    def __getXMLAttributes(self):
    75         try:
     76        if hasattr(self, "getXMLAttributes"):
    7677            return self.getXMLAttributes()
    77         except AttributeError:
    78             try:
    79                 return self.__XMLAttributes
    80             except AttributeError:
     78        if hasattr(self,"__XMLAttributes"):
     79            return self.__XMLAttributes
     80        return {}
     81            #except AttributeError:
    8182                #do return None, cause if modifiying a new list, changes will not be saved
    82                 return []
     83            #    return {}
    8384    def __delXMLAttributes(self):
    8485        try:
     
    143144        encodingList.extend(["</"+self.XMLtag+">"])
    144145        return encodingList
    145 
     146    def XMLSAXEncode(self, context, generator):
     147        #works not for attp
     148        generator.startElement(self.XMLtag, attr(self.XMLAttributes))
     149        for c in self.children:
     150          c.XMLSAXEncode(context, generator)
     151        if not self.children:
     152          body=self.body
     153          if body:
     154            generator.characters(self.body)
     155        generator.endElement(self.XMLtag)
    146156class OMObject(OMObjectBase):
    147157    def __init__(self, children):
     
    210220    XMLtag="OMS"
    211221    def getXMLAttributes(self):
    212         return [XMLAttribute("name", self.name),\
    213                  XMLAttribute("cdbase", self.cd.base),\
    214                  XMLAttribute("cd", self.cd.name)]
     222        #return [XMLAttribute("name", self.name),\
     223        #         XMLAttribute("cdbase", self.cd.base),\
     224        #         XMLAttribute("cd", self.cd.name)]
     225        return {"name":self.name, "cdbase":self.cd.base, "cd": self.cd.name}
    215226    def setXMLAttributes(self):
    216227        raise UnsupportedOperationError
     
    257268    XMLtag = "OMF"
    258269    def getXMLAttributes(self):
    259         return [XMLAttribute("dec" ,str(self.value))]
     270        return {"dec":str(self.value)}
    260271class OMString(SimpleValue):
    261272    def __init__(self,value):
Note: See TracChangeset for help on using the changeset viewer.