Python lxml: применить xslt к записям базы данных - PullRequest
0 голосов
/ 11 декабря 2018

Я бы хотел использовать файл xslt и применять его к записям базы данных вместо файла xml.Это должно быть сделано на python.

Например, предположим, что таблица в базе данных:

TABLE topic
  id INTEGER
  title CHAR(200)
  body TEXT
  added DATETIME

TABLE comment
  topic_id REFERENCES(topic)
  body TEXT
  added DATETIME

Тогда я бы хотел, чтобы xslt обрабатывался так, как xml:

<topics>
  <topic>
    <id>1</id>
    <title>First topic</title>
    <body>Topic body</body>
    <added>11-12-2018 08:00:00</added>
  </topic>
  <topic>
     ...
  </topic>
</topics>
<comments>
  <comment>
    ...
  </comment>
</comments>

Проблема с преобразованием строк базы данных в xml состоит в том, что строк действительно много (более 100 МБ), и xslt использует только пару из них (порядка 100), которые различаются между вызовами.

Я вижу, что lxml часто используется, и я думал о написании альтернативного класса ElementTree, который выбирает записи из базы данных по требованию.Это возможно?Задокументировано ли это где-нибудь в документации lxml (я не смог ее найти)?

Существуют ли другие способы решения проблемы (использование xslt с базой данных) с использованием какого-либо другого пакета python?

...