В XQuery, с eXist, как получить дочерние коллекции текущей коллекции?

Эта проблема

У меня есть запрос, который выполняется eXist через REST API, и он помещается в коллекцию, на которой он должен работать, например /db/foo или же /db/bar, В запросе я хотел бы получить дочерние коллекции текущей коллекции. То есть: если опубликовано /db/fooЯ хотел бы, чтобы запрос возвращал что xmldb:get-child-collections('/db/foo') вернется; если опубликовано /db/barЯ хотел бы, чтобы запрос возвращал что xmldb:get-child-collections('/db/bar') вернется. Но, конечно, я не хочу, чтобы путь текущей коллекции был жестко задан в запросе.

Что я пробовал

  • xmldb:get-child-collections('.'), неудачно, . eXist не понимается как "текущая коллекция".
  • Ищем функцию, которая возвращает путь к текущей коллекции, например pwd был бы в раковине, но я не мог найти один.

1 ответ

Решение

С REST API вы можете использовать request:get-path-info() чтобы получить путь к "текущей коллекции". Например:

  • Если вы делаете GET или POST для http://www.my-site.com/exist/rest/db/my-collection,
  • request:get-path-info() вернусь /db/my-collectionЭто именно та часть пути, которая вас интересует.
Другие вопросы по тегам