Отображение содержимого коллекции xml с помощью XQuery - PullRequest
0 голосов
/ 10 апреля 2011

Мне нужно использовать базу данных xml (Sedna) для хранения и извлечения объектов Java.Каждый пользовательский класс в проекте хранится в коллекции.У меня следующая проблема: я не уверен, как объекты записываются в коллекцию.То есть я не знаю их точную структуру xml, поэтому я не могу сделать правильный запрос к ним.

Есть ли запрос, который для данной коллекции покажет мне содержимоеколлекция?

Host h = new Host();
h.name = "test1";
h.freeSpace = 32;
String id1 = this.addHost(h);

//addHost method
try
{
  Collection c = this.findCollection("Hosts"); //gives me the Hosts collection
  if (c == null)
    return null;

  h.id = c.createId();
  BinaryResource br = (BinaryResource) c.createResource(h.id, BinaryResource.RESOURCE_TYPE);
  br.setContent(h);
  c.storeResource(br);
  return h.id;

} catch (XMLDBException e) {
  System.err.println("Error adding Host entry into the database: " + e.getMessage());
  return null;
}

1 Ответ

0 голосов
/ 12 апреля 2011

Для просмотра структуры (схемы) вашей базы данных, коллекции или запроса документа один из следующих системных документов ( Получение метаданных ):

  • $schema -описательная схема всех документов и коллекций с некоторой относящейся к схеме информацией;

  • $schema_<name> - описательная схема документа или коллекции с именем;

Например, запустите se_term и выполните doc('$schema_test'), чтобы получить структуру «тестового» документа / коллекции.

Как вы храните свои ресурсы?Пожалуйста, дайте нам фрагмент кода.Очень сложно понять, какой API вы используете (XML: DB, XQJ, собственный Sedna Java API).

...