<description datatypeLibrary=“www.w3.org/2001/XMLSchema-datatypes” xmlns=“riddl.org/ns/description/1.0” xmlns:xi=“www.w3.org/2001/XInclude”>
<message name="value"> <choice> <parameter name="value" mimetype="text/xml" handler="http://riddl.org/ns/handlers/relaxng"> <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://riddl.org/ns/common-patterns/properties/1.0"> <start> <choice> <element name="value"> <ref name="value"/> </element> <element name="not-existing"> <empty/> </element> </choice> </start> <define name="value"> <zeroOrMore> <choice> <text/> <ref name="any"/> </choice> </zeroOrMore> </define> <define name="any"> <element> <anyName/> <zeroOrMore> <attribute> <anyName/> </attribute> </zeroOrMore> <ref name="value"/> </element> </define> </grammar> </parameter> <parameter name="value" type="string"/> <parameter name="content" mimetype="text/xml"/> <parameter name="content" mimetype="text/plain"/> </choice> </message> <message name="resource-document"> <parameter name="document" mimetype="text/xml"/> </message> <message name="resource-document-schema"> <parameter name="document-schema" mimetype="text/xml"/> </message> <message name="properties"> <oneOrMore> <parameter name="name" type="string"/> <choice> <parameter name="value" type="string"/> <parameter name="value" mimetype="text/plain"/> <parameter name="content" mimetype="text/xml"/> <!-- add everything inside the root tag --> <parameter name="content" type="string"/> <!-- add everything inside the root tag --> </choice> </oneOrMore> </message> <message name="propertylist"> <parameter name="properties" mimetype="text/xml" handler="http://riddl.org/ns/handlers/relaxng"> <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://riddl.org/ns/common-patterns/properties/1.0"> <start> <element name="properties"> <zeroOrMore> <ref name="property"/> </zeroOrMore> </element> </start> <define name="property"> <element> <anyName/> <data type="string"/> </element> </define> </grammar> </parameter> </message> <message name="addcontent"> <choice> <parameter name="value" type="string"/> <parameter name="value" mimetype="text/xml"/> </choice> </message> <message name="updcontent"> <choice> <parameter name="value" type="string"/> <parameter name="value" mimetype="text/plain"/> <parameter name="content" mimetype="text/xml"/> <!-- add everything inside the root tag --> <parameter name="content" type="string"/> <!-- add everything inside the root tag --> </choice> </message> <message name="property"> <parameter name="name" type="string"> <param name="pattern">[a-zA-Z_][a-zA-Z0-9_]*</param> </parameter> <choice> <parameter name="value" type="string"/> <parameter name="value" mimetype="text/plain"/> <parameter name="content" mimetype="text/xml"/> <!-- add everything inside the root tag --> <parameter name="content" type="string"/> <!-- add everything inside the root tag --> </choice> </message> <message name="query"> <parameter name="query" type="string"/> </message> <resource pattern="http://riddl.org/ns/common-patterns/properties/1.0"> <get in="*" out="resource-document"/> <get in="query" out="value"/> <resource relative="schema"> <get in="*" out="resource-document-schema"/> <resource relative="rng"> <get in="*" out="resource-document-schema"/> </resource> <resource relative="xsd"> <get in="*" out="resource-document-schema"/> </resource> </resource> <resource relative="values"> <get in="*" out="propertylist"/> <post in="property"/> <put in="properties"/> <resource> <get in="*" out="value"/> <delete in="*"/> <post in="addcontent"/> <put in="updcontent"/> <patch in="updcontent"/> <resource> <get in="*" out="value"/> <put in="updcontent"/> <delete in="*"/> <resource recursive='true'> <get in="*" out="value"/> </resource> </resource> </resource> </resource> </resource>
</description>