ml-gradle xsd для метаданных для сервисов
Я развертываю свои расширения ресурсов, используя ML-Gradle. Я хочу указать типы параметров и количество элементов. Каков формат файла metadata.xml для данного расширения службы ресурсов marklogic? Есть ли документация или xsd, которые я могу использовать? Я сделал следующее, но это не сработало
<?xml version="1.0" encoding="UTF-8"?>
<rapi:resource-metadata xmlns:rapi="http://marklogic.com/rest-api">
<rapi:name>crSearch</rapi:name>
<rapi:source-format>xquery</rapi:source-format>
<rapi:title>crSearch</rapi:title>
<rapi:methods>
<rapi:method>
<rapi:method-name>delete</rapi:method-name>
</rapi:method>
<rapi:method>
<rapi:method-name>get</rapi:method-name>
<rapi:parameter>
<rapi:parameter-name>pageLength</rapi:parameter-name>
<rapi:parameter-type>xs:unsignedLong</rapi:parameter-type>
</rapi:parameter>
<rapi:parameter>
<rapi:parameter-name>start</rapi:parameter-name>
<rapi:parameter-type>xs:unsignedLong</rapi:parameter-type>
</rapi:parameter>
</rapi:method>
<rapi:method>
<rapi:method-name>put</rapi:method-name>
</rapi:method>
<rapi:method>
<rapi:method-name>post</rapi:method-name>
<rapi:parameter>
<rapi:parameter-name>pageLength</rapi:parameter-name>
<rapi:parameter-type>xs:unsignedLong</rapi:parameter-type>
</rapi:parameter>
<rapi:parameter>
<rapi:parameter-name>start</rapi:parameter-name>
<rapi:parameter-type>xs:unsignedLong</rapi:parameter-type>
</rapi:parameter>
</rapi:method>
</rapi:methods>
</rapi:resource-metadata>
Может кто-нибудь сказать мне, как метаданные XML должен выглядеть
1 ответ
Решение
Я смог выяснить, посмотрев на код в ml-gradle/src/main/groovy/com/marklogic/gradle/task/client/CreateResourceTask.groovy
а также ml-javaclient-util/src/main/java/com/marklogic/client/modulesloader/impl/DefaultExtensionMetadataProvider.java
..
Если кому-то интересно, ниже приведена структура моего metadata.xml
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<title>crSearch</title>
<description>CR Search Web Service</description>
<method name="DELETE"/>
<method name="PUT"/>
<method name="POST">
<param name="pageLength" type="xs:unsignedLong"/>
<param name="start" type="xs:unsignedLong"/>
</method>
<method name="GET">
<param name="pageLength" type="xs:unsignedLong"/>
<param name="start" type="xs:unsignedLong"/>
</method>
</metadata>
Все поля обязательны для заполнения <title>
а также <description>