web/views/xmlrss.py
changeset 6960 822f2530570d
parent 6959 037a0277db0a
child 7166 dde161937d3e
equal deleted inserted replaced
6959:037a0277db0a 6960:822f2530570d
   110             if not rtype in getrschema:
   110             if not rtype in getrschema:
   111                 self.error('unexisting relation %r', relstr)
   111                 self.error('unexisting relation %r', relstr)
   112                 continue
   112                 continue
   113             self.w(u'  <%s role="%s">\n' % (rtype, role))
   113             self.w(u'  <%s role="%s">\n' % (rtype, role))
   114             for related in entity.related(rtype, role, entities=True):
   114             for related in entity.related(rtype, role, entities=True):
       
   115                 # XXX put unique attributes as xml attribute, they are much
       
   116                 # probably used to search existing entities in client data feed,
       
   117                 # and putting it here may avoid an extra request to get those
       
   118                 # attributes values
   115                 self.w(u'    <%s eid="%s" cwuri="%s"/>\n'
   119                 self.w(u'    <%s eid="%s" cwuri="%s"/>\n'
   116                        % (related.e_schema, related.eid,
   120                        % (related.e_schema, related.eid,
   117                           xml_escape(related.cwuri)))
   121                           xml_escape(related.cwuri)))
   118             self.w(u'  </%s>\n' % rtype)
   122             self.w(u'  </%s>\n' % rtype)
   119         self.w(u'</%s>\n' % (entity.e_schema))
   123         self.w(u'</%s>\n' % (entity.e_schema))
   269 
   273 
   270     def render_entity_creator(self, entity):
   274     def render_entity_creator(self, entity):
   271         if entity.creator:
   275         if entity.creator:
   272             self._marker('dc:creator', entity.dc_creator())
   276             self._marker('dc:creator', entity.dc_creator())
   273 
   277 
   274 
       
   275     def _marker(self, marker, value):
   278     def _marker(self, marker, value):
   276         if value:
   279         if value:
   277             self.w(u'  <%s>%s</%s>\n' % (marker, xml_escape(value), marker))
   280             self.w(u'  <%s>%s</%s>\n' % (marker, xml_escape(value), marker))