2013-02-12 4 views
1

Я реорганизую проект Java EE для использования MarkLogic и хотел бы воспользоваться встроенной функциональностью HTML Tidy от MarkLogic. Можно ли использовать HTML Tidy из Java API MarkLogic? Или мне понадобится использовать сторонний API, который позволяет мне запускать команды XQuery напрямую?Доступ к HTML-Tidy с Java API-интерфейсом MarkLogic

Или это безумное поручение, и я должен просто использовать HTML Tidy в своем коде?

+0

... Что именно делает продукт NoSQL, Tidy и XQuery вместе в первую очередь? Они кажутся совершенно не связанными со мной. – millimoose

+1

Вы можете запустить HTML Tidy из XQuery в MarkLogic с помощью команды 'xdmp: tidy'. Учитывая, что мы храним файлы HTML там, мой руководитель предположил, что, возможно, мы могли бы использовать эту встроенную функциональность, но я не уверен, можем ли мы это сделать. – BlairHippo

ответ

3

См. Пример com.marklogic.client.example.cookbook.DocumentWriteTransform, распространяемый с помощью API Java, который использует преобразование XQuery server-side при записи документа для вызова xdmp:tidy().

+1

Не могли бы вы объяснить это немного больше, пожалуйста? Я посмотрел на Javadoc и исходный код для этого файла, и я не вижу никакой ссылки на xdmp: tidy в любом. – BlairHippo

+0

В пределах MarkLogic-Java-API-1.0-2.zip, пожалуйста, посмотрите пример/scripts/html2xhtml.xqy и example/com/marklogic/client/example/cookbook/DocumentWriteTransform.java – ehennum

+0

Отлично, спасибо; это именно тот образец, который я искал. – BlairHippo

2

В приведенном примере Эрик устанавливает преобразование XQuery. Это имя html2xthml.xqy - оно упаковано где-то в дистрибутиве. В примере есть один способ установки преобразования, а затем пример того, как его вызывать. Эта часть вызова находится на линии 126.

writeMgr.write (docId, writeHandle, transform);

Чуть выше вы увидите, как создается и настраивается преобразование.

Идея состоит в том, что вы можете использовать REST (через API Java) для установки преобразования в/v1/transforms/html2xhtml, а затем вызывать его во время PUT документа (используя этот метод записи java) с именем преобразования в качестве параметра ,

Так что ссылка, которую вы ищете, - это преобразование XQuery, а не исходный файл Java.

+0

Я скачал MarkLogic-Java-API-1.0-2.zip, и я не могу найти html2xthml.xqy в любом месте. Это распределение, о котором вы думаете? – BlairHippo

0

Я был бы склонен уходить аккуратно в уровень Java, если вы планируете сохранить Java на картинке в любом случае. Приведение в порядок в JVM дает вам больше контроля: вы можете установить любую версию jtidy, которая вам нравится, и даже исправить ее самостоятельно. Кроме того, приведение в порядок может быть достаточно интенсивным с использованием ЦП, поэтому его запуск на уровне JVM не позволит конкурировать с запросами базы данных.

Конечно, у вас могут быть другие сильные стимулы, чтобы работать аккуратно в MarkLogic. Например, вы можете планировать возможность прямой интеграции REST с вашим кодом MarkLogic.

 Смежные вопросы

  • Нет связанных вопросов^_^