-
Notifications
You must be signed in to change notification settings - Fork 47
/
renderers.py
24 lines (18 loc) · 995 Bytes
/
renderers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from apps.core.renderers import BaseXMLRenderer
class XMLRenderer(BaseXMLRenderer):
def render_document(self, xml, conditions):
xml.startElement('conditions', {
'xmlns:dc': "http://purl.org/dc/elements/1.1/"
})
for condition in conditions:
self.render_condition(xml, condition)
xml.endElement('conditions')
def render_condition(self, xml, condition):
xml.startElement('condition', {})
self.render_text_element(xml, 'dc:uri', {}, condition["uri"])
self.render_text_element(xml, 'dc:comment', {}, condition["comment"])
self.render_text_element(xml, 'source', {'dc:uri': condition["source"]}, None)
self.render_text_element(xml, 'relation', {}, condition["relation"])
self.render_text_element(xml, 'target_text', {}, condition["target_text"])
self.render_text_element(xml, 'target_option', {'dc:uri': condition["target_option"]}, None)
xml.endElement('condition')