1.1 --- a/XSLTools/XMLTable.py Fri Aug 26 23:19:28 2005 +0000
1.2 +++ b/XSLTools/XMLTable.py Fri Aug 26 23:19:47 2005 +0000
1.3 @@ -47,16 +47,20 @@
1.4 else:
1.5 self.root = self.doc.xpath("*")[0]
1.6
1.7 + # Remember the last row element.
1.8 +
1.9 + self.last_row_element = None
1.10 +
1.11 def add_rows(self, rows):
1.12 for row in rows:
1.13 self.add_row(row)
1.14
1.15 def add_row(self, row, index=-1, row_element_name="row", use_key_as_element_name=0):
1.16 - row_element = self.doc.createElementNS(self.ns, self.prefix+row_element_name)
1.17 + self.last_row_element = self.doc.createElementNS(self.ns, self.prefix+row_element_name)
1.18 if index == -1:
1.19 - self.root.appendChild(row_element)
1.20 + self.root.appendChild(self.last_row_element)
1.21 else:
1.22 - self.root.insertBefore(row_element, self.root.xpath("*[%s]" % (index + 1))[0])
1.23 + self.root.insertBefore(self.last_row_element, self.root.xpath("*[%s]" % (index + 1))[0])
1.24
1.25 # Permit dictionaries.
1.26
1.27 @@ -67,7 +71,7 @@
1.28 else:
1.29 column_element = self.doc.createElementNS(self.ns, self.prefix+"column")
1.30 column_element.setAttributeNS(self.ns, self.prefix+"name", unicode(name))
1.31 - row_element.appendChild(column_element)
1.32 + self.last_row_element.appendChild(column_element)
1.33 text = self.doc.createTextNode(unicode(value))
1.34 column_element.appendChild(text)
1.35
1.36 @@ -76,10 +80,16 @@
1.37 else:
1.38 for column in row:
1.39 column_element = self.doc.createElementNS(self.ns, self.prefix+"column")
1.40 - row_element.appendChild(column_element)
1.41 + self.last_row_element.appendChild(column_element)
1.42 text = self.doc.createTextNode(unicode(column))
1.43 column_element.appendChild(text)
1.44
1.45 + def last_row(self):
1.46 + if self.last_row_element is not None:
1.47 + return Converter(self.ns, self.prefix, self.doc, self.last_row_element)
1.48 + else:
1.49 + return None
1.50 +
1.51 if __name__ == "__main__":
1.52 from rdflib.TripleStore import TripleStore
1.53 import sys