riddl 0.100.5 → 0.100.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/examples/properties/server.properties.schema +7 -7
- data/examples/propnew/description.conf +1 -0
- data/examples/propnew/description.rb +15 -0
- data/examples/propnew/properties.schema.xsl +132 -0
- data/examples/propnew/properties.xml +1 -0
- data/examples/propnew/server.properties.schema +95 -0
- data/examples/propnew/server.properties.xml +16 -0
- data/examples/propnew/test +126 -0
- data/lib/ruby/riddl/client.rb +8 -0
- data/lib/ruby/riddl/ns/common-patterns/properties/1.0/properties.xml +9 -8
- data/lib/ruby/riddl/ns/description/1.0/description.rng +47 -43
- data/lib/ruby/riddl/server.rb +1 -0
- data/lib/ruby/riddl/utils/properties.rb +60 -0
- data/ns/common-patterns/properties/1.0/properties.xml +9 -8
- data/ns/description/1.0/description.rng +47 -43
- data/riddl.gemspec +1 -1
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0dfaffabbc8caecb6ad865f2911d9a09d1cd9166ef6d13fc756d430ec9609eb4
|
4
|
+
data.tar.gz: 8d89bfa9870e6466156b09d01650e323a8737639d8c961ee40cc2c0748c182ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f0d67ad9554f9d59cbc0d67fedc3a8d87372ee4a9cb9a4da8e1587ff6d1aea972820da74f201081e9784b343d8c6136f696234ef939c1fa5621d524aee22399
|
7
|
+
data.tar.gz: 85c548ac1686d1857ceeb8cff4bcec8a0229252955ed4081e287e7c6de67acf6912dccb0e2f5222e0b1b9fa653d52020d91d8597d7a5033e6165785357d5551c
|
@@ -5,12 +5,12 @@
|
|
5
5
|
<handlerwrapper type="simple" modifiable="false" mutable="false">
|
6
6
|
<data type="string">
|
7
7
|
<param name="pattern">[A-Z][a-zA-Z]*</param>
|
8
|
-
</data>
|
8
|
+
</data>
|
9
9
|
</handlerwrapper>
|
10
10
|
<description type="arbitrary" modifiable="false" mutable="false"/>
|
11
11
|
<optional>
|
12
12
|
<transformation type="arbitrary" modifiable="true" mutable="false"/>
|
13
|
-
</optional>
|
13
|
+
</optional>
|
14
14
|
<state type="state" modifiable="true">
|
15
15
|
<running>
|
16
16
|
<stopped putable="true"/>
|
@@ -18,17 +18,17 @@
|
|
18
18
|
</running>
|
19
19
|
<stopped>
|
20
20
|
<running putable="true"/>
|
21
|
-
</stopped>
|
21
|
+
</stopped>
|
22
22
|
<finished/>
|
23
|
-
</state>
|
23
|
+
</state>
|
24
24
|
<dataelements type="complex" modifiable="true" mutable="true">
|
25
25
|
<zeroOrMore>
|
26
26
|
<element><anyName/><text/></element>
|
27
|
-
</zeroOrMore>
|
28
|
-
</dataelements>
|
27
|
+
</zeroOrMore>
|
28
|
+
</dataelements>
|
29
29
|
<endpoints type="complex" modifiable="false" mutable="true">
|
30
30
|
<zeroOrMore>
|
31
31
|
<element><anyName/><text/></element>
|
32
|
-
</zeroOrMore>
|
32
|
+
</zeroOrMore>
|
33
33
|
</endpoints>
|
34
34
|
</properties>
|
@@ -0,0 +1 @@
|
|
1
|
+
:port: 9293
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
require 'pp'
|
3
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../lib/ruby/riddl/server')
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../lib/ruby/riddl/utils/properties')
|
5
|
+
|
6
|
+
Riddl::Server.new(File.dirname(__FILE__) + '/properties.xml') do
|
7
|
+
backend = Riddl::Utils::Properties::Backend.new(
|
8
|
+
@riddl_opts[:basepath] + '/server.properties.schema',
|
9
|
+
@riddl_opts[:basepath] + '/server.properties.xml'
|
10
|
+
)
|
11
|
+
|
12
|
+
on resource do
|
13
|
+
use Riddl::Utils::Properties::implementation(backend)
|
14
|
+
end
|
15
|
+
end.loop!
|
@@ -0,0 +1,132 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<xsl:stylesheet version="1.0" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:p="http://riddl.org/ns/common-patterns/properties/1.0">
|
3
|
+
<xsl:output indent="yes"/>
|
4
|
+
<xsl:strip-space elements="*"/>
|
5
|
+
|
6
|
+
<xsl:template match="/p:properties">
|
7
|
+
<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">
|
8
|
+
|
9
|
+
<start>
|
10
|
+
<element name="properties">
|
11
|
+
<interleave>
|
12
|
+
<xsl:apply-templates select="./*[name()!='optional']"/>
|
13
|
+
<xsl:apply-templates select="p:optional"/>
|
14
|
+
</interleave>
|
15
|
+
</element>
|
16
|
+
</start>
|
17
|
+
|
18
|
+
<define name="xml">
|
19
|
+
<element>
|
20
|
+
<anyName/>
|
21
|
+
<zeroOrMore>
|
22
|
+
<attribute>
|
23
|
+
<anyName/>
|
24
|
+
</attribute>
|
25
|
+
</zeroOrMore>
|
26
|
+
<zeroOrMore>
|
27
|
+
<choice>
|
28
|
+
<text/>
|
29
|
+
<ref name="any"/>
|
30
|
+
</choice>
|
31
|
+
</zeroOrMore>
|
32
|
+
</element>
|
33
|
+
</define>
|
34
|
+
|
35
|
+
</grammar>
|
36
|
+
</xsl:template>
|
37
|
+
|
38
|
+
<xsl:template match="p:optional">
|
39
|
+
<optional>
|
40
|
+
<xsl:apply-templates select="./*[name()!='optional']"/>
|
41
|
+
</optional>
|
42
|
+
</xsl:template>
|
43
|
+
|
44
|
+
<xsl:template mode="special" match="p:attribute">
|
45
|
+
<attribute>
|
46
|
+
<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
|
47
|
+
<xsl:choose>
|
48
|
+
<xsl:when test="@type">
|
49
|
+
<data>
|
50
|
+
<xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
|
51
|
+
<xsl:apply-templates mode="special" select="p:choice"/>
|
52
|
+
</data>
|
53
|
+
</xsl:when>
|
54
|
+
<xsl:otherwise>
|
55
|
+
<xsl:apply-templates mode="special" select="p:choice"/>
|
56
|
+
</xsl:otherwise>
|
57
|
+
</xsl:choose>
|
58
|
+
</attribute>
|
59
|
+
</xsl:template>
|
60
|
+
<xsl:template mode="special" match="p:choice">
|
61
|
+
<choice>
|
62
|
+
<xsl:apply-templates mode="special" select="p:value"/>
|
63
|
+
</choice>
|
64
|
+
</xsl:template>
|
65
|
+
<xsl:template mode="special" match="p:value">
|
66
|
+
<value><xsl:value-of select="text()"/></value>
|
67
|
+
</xsl:template>
|
68
|
+
<xsl:template mode="special" match="p:param">
|
69
|
+
<param>
|
70
|
+
<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
|
71
|
+
<xsl:value-of select="text()"/>
|
72
|
+
</param>
|
73
|
+
</xsl:template>
|
74
|
+
|
75
|
+
<xsl:template match="*[name()!='optional']">
|
76
|
+
<element>
|
77
|
+
|
78
|
+
<xsl:attribute name="name">
|
79
|
+
<xsl:value-of select="name()"/>
|
80
|
+
</xsl:attribute>
|
81
|
+
|
82
|
+
<xsl:if test="@type='xml'">
|
83
|
+
<ref name="xml"/>
|
84
|
+
</xsl:if>
|
85
|
+
|
86
|
+
<xsl:if test="@type='collection'">
|
87
|
+
<xsl:apply-templates select="*"/>
|
88
|
+
</xsl:if>
|
89
|
+
|
90
|
+
<xsl:if test="@type='value'">
|
91
|
+
<xsl:apply-templates mode="special" select="p:attribute"/>
|
92
|
+
<xsl:apply-templates mode="special" select="p:choice"/>
|
93
|
+
<xsl:if test="not(p:choice)">
|
94
|
+
<data type="string"><xsl:apply-templates mode="special" select="p:param"/></data>
|
95
|
+
</xsl:if>
|
96
|
+
</xsl:if>
|
97
|
+
|
98
|
+
<xsl:if test="@type='hash'">
|
99
|
+
<element>
|
100
|
+
<anyName/>
|
101
|
+
<xsl:apply-templates mode="special" select="p:attribute"/>
|
102
|
+
<xsl:apply-templates mode="special" select="p:choice"/>
|
103
|
+
<xsl:if test="not(p:choice)">
|
104
|
+
<data type="string"><xsl:apply-templates mode="special" select="p:param"/></data>
|
105
|
+
</xsl:if>
|
106
|
+
</element>
|
107
|
+
</xsl:if>
|
108
|
+
|
109
|
+
<xsl:if test="@type='state'">
|
110
|
+
<optional>
|
111
|
+
<attribute name="changed">
|
112
|
+
<data type="dateTime"/>
|
113
|
+
</attribute>
|
114
|
+
</optional>
|
115
|
+
<choice>
|
116
|
+
<xsl:for-each select='*'>
|
117
|
+
<value><xsl:value-of select='name()'/></value>
|
118
|
+
</xsl:for-each>
|
119
|
+
</choice>
|
120
|
+
</xsl:if>
|
121
|
+
|
122
|
+
</element>
|
123
|
+
</xsl:template>
|
124
|
+
|
125
|
+
<xsl:template mode="copy-no-ns" match="*">
|
126
|
+
<xsl:element name="{name(.)}">
|
127
|
+
<xsl:copy-of select="@*"/>
|
128
|
+
<xsl:apply-templates mode="copy-no-ns"/>
|
129
|
+
</xsl:element>
|
130
|
+
</xsl:template>
|
131
|
+
|
132
|
+
</xsl:stylesheet>
|
@@ -0,0 +1 @@
|
|
1
|
+
examples/propnew/../../ns/common-patterns/properties/1.0/properties.xml
|
@@ -0,0 +1,95 @@
|
|
1
|
+
<!--
|
2
|
+
This file is part of CPEE.
|
3
|
+
|
4
|
+
CPEE is free software: you can redistribute it and/or modify it under the terms
|
5
|
+
of the GNU General Public License as published by the Free Software Foundation,
|
6
|
+
either version 3 of the License, or (at your option) any later version.
|
7
|
+
|
8
|
+
CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
9
|
+
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
10
|
+
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
11
|
+
|
12
|
+
You should have received a copy of the GNU General Public License along with
|
13
|
+
CPEE (file COPYING in the main directory). If not, see
|
14
|
+
<http://www.gnu.org/licenses/>.
|
15
|
+
-->
|
16
|
+
|
17
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
18
|
+
<attributes type="hash" modifiable="true"/>
|
19
|
+
<handlerwrapper type="value" modifiable="true">
|
20
|
+
<param name="pattern">[A-Z][a-zA-Z]*</param>
|
21
|
+
</handlerwrapper>
|
22
|
+
<dsl type="value" modifiable="false" mutable="false"/>
|
23
|
+
<dslx type="xml" modifiable="false" mutable="false"/>
|
24
|
+
<description type="xml" modifiable="true"/>
|
25
|
+
<transformation type="collection" modifiable="true">
|
26
|
+
<description type="value">
|
27
|
+
<attribute name='type'>
|
28
|
+
<choice>
|
29
|
+
<value>copy</value>
|
30
|
+
<value>rest</value>
|
31
|
+
<value>xslt</value>
|
32
|
+
<value>clean</value>
|
33
|
+
<value>none</value>
|
34
|
+
</choice>
|
35
|
+
</attribute>
|
36
|
+
</description>
|
37
|
+
<dataelements type="value">
|
38
|
+
<attribute name='type'>
|
39
|
+
<choice>
|
40
|
+
<value>rest</value>
|
41
|
+
<value>xslt</value>
|
42
|
+
<value>clean</value>
|
43
|
+
<value>none</value>
|
44
|
+
</choice>
|
45
|
+
</attribute>
|
46
|
+
</dataelements>
|
47
|
+
<endpoints type="value">
|
48
|
+
<attribute name='type'>
|
49
|
+
<choice>
|
50
|
+
<value>rest</value>
|
51
|
+
<value>xslt</value>
|
52
|
+
<value>clean</value>
|
53
|
+
<value>none</value>
|
54
|
+
</choice>
|
55
|
+
</attribute>
|
56
|
+
</endpoints>
|
57
|
+
</transformation>
|
58
|
+
<state type="state" modifiable="true">
|
59
|
+
<ready>
|
60
|
+
<running putable="true"/>
|
61
|
+
<ready putable="true"/>
|
62
|
+
<simulating putable="true"/>
|
63
|
+
<abandoned putable="true"/>
|
64
|
+
</ready>
|
65
|
+
<running>
|
66
|
+
<stopping putable="true"/>
|
67
|
+
<finishing putable="false"/>
|
68
|
+
<finished putable="false"/>
|
69
|
+
</running>
|
70
|
+
<simulating>
|
71
|
+
<ready putable="false"/>
|
72
|
+
<stopped putable="false"/>
|
73
|
+
</simulating>
|
74
|
+
<stopping>
|
75
|
+
<stopped putable="false"/>
|
76
|
+
</stopping>
|
77
|
+
<stopped>
|
78
|
+
<abandoned putable="true"/>
|
79
|
+
<stopped putable="true"/>
|
80
|
+
<running putable="true"/>
|
81
|
+
<simulating putable="true"/>
|
82
|
+
</stopped>
|
83
|
+
<abandoned/>
|
84
|
+
<finished/>
|
85
|
+
</state>
|
86
|
+
<status type="value" modifiable="false" mutable="false">
|
87
|
+
<attribute name='id' type="integer"/>
|
88
|
+
</status>
|
89
|
+
<positions type="hash" modifiable="true">
|
90
|
+
<attribute name='passthrough' type="string"/>
|
91
|
+
<param name="pattern">(at|after)</param>
|
92
|
+
</positions>
|
93
|
+
<dataelements type="hash" modifiable="true"/>
|
94
|
+
<endpoints type="hash" modifiable="true"/>
|
95
|
+
</properties>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
2
|
+
<name>eTM</name>
|
3
|
+
<dataelements>
|
4
|
+
<a>7</a>
|
5
|
+
<b>7</b>
|
6
|
+
<c>foo</c>
|
7
|
+
</dataelements>
|
8
|
+
<endpoints>
|
9
|
+
<e1>http://www.heise.de</e1>
|
10
|
+
<e2>mager</e2>
|
11
|
+
</endpoints>
|
12
|
+
<handlerwrapper>Test</handlerwrapper>
|
13
|
+
<description>lala</description>
|
14
|
+
<state>stopped</state>
|
15
|
+
<transformation>xxx</transformation>
|
16
|
+
</properties>
|
@@ -0,0 +1,126 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:p="http://riddl.org/ns/common-patterns/properties/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://riddl.org/ns/common-patterns/properties/1.0">
|
3
|
+
<start>
|
4
|
+
<element name="properties">
|
5
|
+
<interleave>
|
6
|
+
<element name="attributes">
|
7
|
+
<element>
|
8
|
+
<anyName/>
|
9
|
+
<data type="string"/>
|
10
|
+
</element>
|
11
|
+
</element>
|
12
|
+
<element name="handlerwrapper">
|
13
|
+
<data type="string">
|
14
|
+
<param name="pattern">[A-Z][a-zA-Z]*</param>
|
15
|
+
</data>
|
16
|
+
</element>
|
17
|
+
<element name="dsl">
|
18
|
+
<data type="string"/>
|
19
|
+
</element>
|
20
|
+
<element name="dslx">
|
21
|
+
<ref name="xml"/>
|
22
|
+
</element>
|
23
|
+
<element name="description">
|
24
|
+
<ref name="xml"/>
|
25
|
+
</element>
|
26
|
+
<element name="transformation">
|
27
|
+
<element name="description">
|
28
|
+
<attribute name="type">
|
29
|
+
<choice>
|
30
|
+
<value>copy</value>
|
31
|
+
<value>rest</value>
|
32
|
+
<value>xslt</value>
|
33
|
+
<value>clean</value>
|
34
|
+
<value>none</value>
|
35
|
+
</choice>
|
36
|
+
</attribute>
|
37
|
+
<data type="string"/>
|
38
|
+
</element>
|
39
|
+
<element name="dataelements">
|
40
|
+
<attribute name="type">
|
41
|
+
<choice>
|
42
|
+
<value>rest</value>
|
43
|
+
<value>xslt</value>
|
44
|
+
<value>clean</value>
|
45
|
+
<value>none</value>
|
46
|
+
</choice>
|
47
|
+
</attribute>
|
48
|
+
<data type="string"/>
|
49
|
+
</element>
|
50
|
+
<element name="endpoints">
|
51
|
+
<attribute name="type">
|
52
|
+
<choice>
|
53
|
+
<value>rest</value>
|
54
|
+
<value>xslt</value>
|
55
|
+
<value>clean</value>
|
56
|
+
<value>none</value>
|
57
|
+
</choice>
|
58
|
+
</attribute>
|
59
|
+
<data type="string"/>
|
60
|
+
</element>
|
61
|
+
</element>
|
62
|
+
<element name="state">
|
63
|
+
<optional>
|
64
|
+
<attribute name="changed">
|
65
|
+
<data type="dateTime"/>
|
66
|
+
</attribute>
|
67
|
+
</optional>
|
68
|
+
<choice>
|
69
|
+
<value>ready</value>
|
70
|
+
<value>running</value>
|
71
|
+
<value>simulating</value>
|
72
|
+
<value>stopping</value>
|
73
|
+
<value>stopped</value>
|
74
|
+
<value>abandoned</value>
|
75
|
+
<value>finished</value>
|
76
|
+
</choice>
|
77
|
+
</element>
|
78
|
+
<element name="status">
|
79
|
+
<attribute name="id">
|
80
|
+
<data type="integer"/>
|
81
|
+
</attribute>
|
82
|
+
<data type="string"/>
|
83
|
+
</element>
|
84
|
+
<element name="positions">
|
85
|
+
<element>
|
86
|
+
<anyName/>
|
87
|
+
<attribute name="passthrough">
|
88
|
+
<data type="string"/>
|
89
|
+
</attribute>
|
90
|
+
<data type="string">
|
91
|
+
<param name="pattern">(at|after)</param>
|
92
|
+
</data>
|
93
|
+
</element>
|
94
|
+
</element>
|
95
|
+
<element name="dataelements">
|
96
|
+
<element>
|
97
|
+
<anyName/>
|
98
|
+
<data type="string"/>
|
99
|
+
</element>
|
100
|
+
</element>
|
101
|
+
<element name="endpoints">
|
102
|
+
<element>
|
103
|
+
<anyName/>
|
104
|
+
<data type="string"/>
|
105
|
+
</element>
|
106
|
+
</element>
|
107
|
+
</interleave>
|
108
|
+
</element>
|
109
|
+
</start>
|
110
|
+
<define name="xml">
|
111
|
+
<element>
|
112
|
+
<anyName/>
|
113
|
+
<zeroOrMore>
|
114
|
+
<attribute>
|
115
|
+
<anyName/>
|
116
|
+
</attribute>
|
117
|
+
</zeroOrMore>
|
118
|
+
<zeroOrMore>
|
119
|
+
<choice>
|
120
|
+
<text/>
|
121
|
+
<ref name="any"/>
|
122
|
+
</choice>
|
123
|
+
</zeroOrMore>
|
124
|
+
</element>
|
125
|
+
</define>
|
126
|
+
</grammar>
|
data/lib/ruby/riddl/client.rb
CHANGED
@@ -123,6 +123,7 @@ unless Module.constants.include?('CLIENT_INCLUDED')
|
|
123
123
|
def post(parameters = []); resource.post(parameters); end
|
124
124
|
def simulate_post(parameters = []); resource.simulate_post(parameters); end
|
125
125
|
def put(parameters = []); resource.put(parameters); end
|
126
|
+
def patch(parameters = []); resource.patch(parameters); end
|
126
127
|
def simulate_put(parameters = []); resource.simulate_put(parameters); end
|
127
128
|
def delete(parameters = []); resource.delete(parameters); end
|
128
129
|
def simulate_delete(parameters = []); resource.simulate_delete(parameters); end
|
@@ -183,6 +184,13 @@ unless Module.constants.include?('CLIENT_INCLUDED')
|
|
183
184
|
exec_request('PUT',parameters,true)
|
184
185
|
end #}}}
|
185
186
|
|
187
|
+
def patch(parameters = []) #{{{
|
188
|
+
exec_request('PATCH',parameters,false)
|
189
|
+
end #}}}
|
190
|
+
def simulate_patch(parameters = []) #{{{
|
191
|
+
exec_request('PATCH',parameters,true)
|
192
|
+
end #}}}
|
193
|
+
|
186
194
|
def delete(parameters = []) #{{{
|
187
195
|
exec_request('DELETE',parameters,false)
|
188
196
|
end #}}}
|
@@ -11,7 +11,7 @@
|
|
11
11
|
</element>
|
12
12
|
<element name="not-existing">
|
13
13
|
<empty/>
|
14
|
-
</element>
|
14
|
+
</element>
|
15
15
|
</choice>
|
16
16
|
</start>
|
17
17
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
</choice>
|
24
24
|
</zeroOrMore>
|
25
25
|
</define>
|
26
|
-
|
26
|
+
|
27
27
|
<define name="any">
|
28
28
|
<element>
|
29
29
|
<anyName/>
|
@@ -71,7 +71,7 @@
|
|
71
71
|
<element name="properties">
|
72
72
|
<zeroOrMore>
|
73
73
|
<ref name="property"/>
|
74
|
-
</zeroOrMore>
|
74
|
+
</zeroOrMore>
|
75
75
|
</element>
|
76
76
|
</start>
|
77
77
|
|
@@ -80,7 +80,7 @@
|
|
80
80
|
<anyName/>
|
81
81
|
<data type="string"/>
|
82
82
|
</element>
|
83
|
-
</define>
|
83
|
+
</define>
|
84
84
|
|
85
85
|
</grammar>
|
86
86
|
</parameter>
|
@@ -89,7 +89,7 @@
|
|
89
89
|
<choice>
|
90
90
|
<parameter name="value" type="string"/>
|
91
91
|
<parameter name="value" mimetype="text/xml"/>
|
92
|
-
</choice>
|
92
|
+
</choice>
|
93
93
|
</message>
|
94
94
|
<message name="updcontent">
|
95
95
|
<choice>
|
@@ -97,7 +97,7 @@
|
|
97
97
|
<parameter name="value" mimetype="text/plain"/>
|
98
98
|
<parameter name="content" mimetype="text/xml"/> <!-- add everything inside the root tag -->
|
99
99
|
<parameter name="content" type="string"/> <!-- add everything inside the root tag -->
|
100
|
-
</choice>
|
100
|
+
</choice>
|
101
101
|
</message>
|
102
102
|
<message name="property">
|
103
103
|
<parameter name="name" type="string">
|
@@ -121,7 +121,7 @@
|
|
121
121
|
<get in="*" out="resource-document-schema"/>
|
122
122
|
<resource relative="rng">
|
123
123
|
<get in="*" out="resource-document-schema"/>
|
124
|
-
</resource>
|
124
|
+
</resource>
|
125
125
|
<resource relative="xsd">
|
126
126
|
<get in="*" out="resource-document-schema"/>
|
127
127
|
</resource>
|
@@ -135,6 +135,7 @@
|
|
135
135
|
<delete in="*"/>
|
136
136
|
<post in="addcontent"/>
|
137
137
|
<put in="updcontent"/>
|
138
|
+
<patch in="updcontent"/>
|
138
139
|
<resource>
|
139
140
|
<get in="*" out="value"/>
|
140
141
|
<put in="updcontent"/>
|
@@ -145,6 +146,6 @@
|
|
145
146
|
</resource>
|
146
147
|
</resource>
|
147
148
|
</resource>
|
148
|
-
</resource>
|
149
|
+
</resource>
|
149
150
|
|
150
151
|
</description>
|
@@ -24,13 +24,13 @@
|
|
24
24
|
<ref name="riddl-description-other-atts"/>
|
25
25
|
<ref name="riddl-transformation"/>
|
26
26
|
</element>
|
27
|
-
</choice>
|
27
|
+
</choice>
|
28
28
|
</zeroOrMore>
|
29
|
-
<element name="resource">
|
29
|
+
<element name="resource">
|
30
30
|
<ref name="riddl-resource-dynamic"/>
|
31
31
|
</element>
|
32
32
|
</define>
|
33
|
-
|
33
|
+
|
34
34
|
<define name="riddl-message">
|
35
35
|
<ref name="riddl-att-name"/>
|
36
36
|
<zeroOrMore>
|
@@ -48,29 +48,29 @@
|
|
48
48
|
<element name="add_header">
|
49
49
|
<oneOrMore>
|
50
50
|
<ref name="riddl-header"/>
|
51
|
-
</oneOrMore>
|
52
|
-
</element>
|
51
|
+
</oneOrMore>
|
52
|
+
</element>
|
53
53
|
<element name="add_as_first">
|
54
54
|
<oneOrMore>
|
55
55
|
<ref name="riddl-parameter"/>
|
56
|
-
</oneOrMore>
|
57
|
-
</element>
|
56
|
+
</oneOrMore>
|
57
|
+
</element>
|
58
58
|
<element name="add_as_last">
|
59
59
|
<oneOrMore>
|
60
60
|
<ref name="riddl-parameter"/>
|
61
|
-
</oneOrMore>
|
62
|
-
</element>
|
61
|
+
</oneOrMore>
|
62
|
+
</element>
|
63
63
|
<element name="add_before">
|
64
64
|
<ref name="riddl-att-name-star"/>
|
65
65
|
<oneOrMore>
|
66
66
|
<ref name="riddl-parameter"/>
|
67
|
-
</oneOrMore>
|
67
|
+
</oneOrMore>
|
68
68
|
</element>
|
69
69
|
<element name="add_after">
|
70
70
|
<ref name="riddl-att-name-star"/>
|
71
71
|
<oneOrMore>
|
72
72
|
<ref name="riddl-parameter"/>
|
73
|
-
</oneOrMore>
|
73
|
+
</oneOrMore>
|
74
74
|
</element>
|
75
75
|
<element name="remove_each">
|
76
76
|
<ref name="riddl-att-col-remove"/>
|
@@ -84,15 +84,15 @@
|
|
84
84
|
</choice>
|
85
85
|
</oneOrMore>
|
86
86
|
</define>
|
87
|
-
|
87
|
+
|
88
88
|
<define name="riddl-header">
|
89
89
|
<element name="header">
|
90
90
|
<ref name="riddl-att-name"/>
|
91
91
|
<choice>
|
92
92
|
<ref name="riddl-fixed"/>
|
93
93
|
<ref name="data"/>
|
94
|
-
</choice>
|
95
|
-
</element>
|
94
|
+
</choice>
|
95
|
+
</element>
|
96
96
|
</define>
|
97
97
|
|
98
98
|
<define name="riddl-message-content">
|
@@ -102,7 +102,7 @@
|
|
102
102
|
<ref name="riddl-optional"/>
|
103
103
|
<ref name="riddl-choice"/>
|
104
104
|
<ref name="riddl-parameter"/>
|
105
|
-
</choice>
|
105
|
+
</choice>
|
106
106
|
</define>
|
107
107
|
<define name="riddl-message-content-trimmed">
|
108
108
|
<choice>
|
@@ -111,7 +111,7 @@
|
|
111
111
|
<ref name="riddl-choice"/>
|
112
112
|
<ref name="riddl-group"/>
|
113
113
|
<ref name="riddl-parameter"/>
|
114
|
-
</choice>
|
114
|
+
</choice>
|
115
115
|
</define>
|
116
116
|
|
117
117
|
<define name="riddl-zeroOrMore">
|
@@ -119,8 +119,8 @@
|
|
119
119
|
<ref name="riddl-description-others"/>
|
120
120
|
<oneOrMore>
|
121
121
|
<ref name="riddl-message-content"/>
|
122
|
-
</oneOrMore>
|
123
|
-
</element>
|
122
|
+
</oneOrMore>
|
123
|
+
</element>
|
124
124
|
</define>
|
125
125
|
<define name="riddl-oneOrMore">
|
126
126
|
<element name="oneOrMore">
|
@@ -128,15 +128,15 @@
|
|
128
128
|
<oneOrMore>
|
129
129
|
<ref name="riddl-message-content"/>
|
130
130
|
</oneOrMore>
|
131
|
-
</element>
|
131
|
+
</element>
|
132
132
|
</define>
|
133
133
|
<define name="riddl-optional">
|
134
134
|
<element name="optional">
|
135
135
|
<ref name="riddl-description-others"/>
|
136
136
|
<oneOrMore>
|
137
137
|
<ref name="riddl-message-content"/>
|
138
|
-
</oneOrMore>
|
139
|
-
</element>
|
138
|
+
</oneOrMore>
|
139
|
+
</element>
|
140
140
|
</define>
|
141
141
|
<define name="riddl-choice">
|
142
142
|
<element name="choice">
|
@@ -152,7 +152,7 @@
|
|
152
152
|
<oneOrMore>
|
153
153
|
<ref name="riddl-message-content"/>
|
154
154
|
</oneOrMore>
|
155
|
-
</element>
|
155
|
+
</element>
|
156
156
|
</define>
|
157
157
|
<define name="riddl-parameter">
|
158
158
|
<element name="parameter">
|
@@ -166,52 +166,52 @@
|
|
166
166
|
<data type="string">
|
167
167
|
<param name="pattern">(([\c]+|\*)/[\c\+]+)|([\c]+/([\c\+]+|\*))|\*</param>
|
168
168
|
</data>
|
169
|
-
</attribute>
|
169
|
+
</attribute>
|
170
170
|
<optional>
|
171
171
|
<attribute name="handler">
|
172
172
|
<data type="anyURI"/>
|
173
|
-
</attribute>
|
173
|
+
</attribute>
|
174
174
|
</optional>
|
175
175
|
<optional>
|
176
176
|
<ref name="any"/>
|
177
|
-
</optional>
|
178
|
-
</group>
|
177
|
+
</optional>
|
178
|
+
</group>
|
179
179
|
</choice>
|
180
180
|
</element>
|
181
|
-
</define>
|
181
|
+
</define>
|
182
182
|
|
183
183
|
<define name="riddl-fixed">
|
184
184
|
<optional>
|
185
185
|
<attribute name="fixed">
|
186
186
|
<data type="string"/>
|
187
187
|
</attribute>
|
188
|
-
</optional>
|
188
|
+
</optional>
|
189
189
|
</define>
|
190
190
|
|
191
191
|
<define name="riddl-resource-attributes">
|
192
192
|
<optional>
|
193
193
|
<attribute name="pattern">
|
194
194
|
<data type="anyURI"/>
|
195
|
-
</attribute>
|
195
|
+
</attribute>
|
196
196
|
</optional>
|
197
197
|
<optional>
|
198
198
|
<attribute name="role">
|
199
199
|
<data type="anyURI"/>
|
200
|
-
</attribute>
|
200
|
+
</attribute>
|
201
201
|
</optional>
|
202
202
|
<ref name="riddl-description-others"/>
|
203
203
|
</define>
|
204
|
-
|
204
|
+
|
205
205
|
<define name="riddl-resource-recursive-choice">
|
206
206
|
<choice>
|
207
207
|
<attribute name="recursive">
|
208
208
|
<data type="boolean"/>
|
209
|
-
</attribute>
|
209
|
+
</attribute>
|
210
210
|
<group>
|
211
211
|
<ref name="riddl-resource-sub"/>
|
212
|
-
</group>
|
213
|
-
</choice>
|
214
|
-
</define>
|
212
|
+
</group>
|
213
|
+
</choice>
|
214
|
+
</define>
|
215
215
|
|
216
216
|
<define name="riddl-resource-dynamic">
|
217
217
|
<ref name="riddl-resource-attributes"/>
|
@@ -226,7 +226,7 @@
|
|
226
226
|
<ref name="riddl-resource-content"/>
|
227
227
|
<ref name="riddl-resource-recursive-choice"/>
|
228
228
|
</define>
|
229
|
-
|
229
|
+
|
230
230
|
<define name="riddl-resource-sub">
|
231
231
|
<!-- One dynamic resources, multiple named ones, before or after the dynamic -->
|
232
232
|
<zeroOrMore>
|
@@ -244,7 +244,7 @@
|
|
244
244
|
<ref name="riddl-resource-named"/>
|
245
245
|
</element>
|
246
246
|
</zeroOrMore>
|
247
|
-
</define>
|
247
|
+
</define>
|
248
248
|
|
249
249
|
<define name="riddl-resource-content">
|
250
250
|
<zeroOrMore>
|
@@ -261,6 +261,10 @@
|
|
261
261
|
<ref name="riddl-atts-request"/>
|
262
262
|
<ref name="riddl-description-others"/>
|
263
263
|
</element>
|
264
|
+
<element name="patch">
|
265
|
+
<ref name="riddl-atts-request"/>
|
266
|
+
<ref name="riddl-description-others"/>
|
267
|
+
</element>
|
264
268
|
<element name="delete">
|
265
269
|
<ref name="riddl-atts-request"/>
|
266
270
|
<ref name="riddl-description-others"/>
|
@@ -269,11 +273,11 @@
|
|
269
273
|
<ref name="riddl-att-method"/>
|
270
274
|
<ref name="riddl-atts-request"/>
|
271
275
|
<ref name="riddl-description-others"/>
|
272
|
-
</element>
|
276
|
+
</element>
|
273
277
|
<element name="websocket">
|
274
278
|
<empty/>
|
275
|
-
</element>
|
276
|
-
</choice>
|
279
|
+
</element>
|
280
|
+
</choice>
|
277
281
|
</zeroOrMore>
|
278
282
|
</define>
|
279
283
|
|
@@ -298,7 +302,7 @@
|
|
298
302
|
</zeroOrMore>
|
299
303
|
</element>
|
300
304
|
</zeroOrMore>
|
301
|
-
</define>
|
305
|
+
</define>
|
302
306
|
|
303
307
|
<define name="riddl-description-other-atts">
|
304
308
|
<zeroOrMore>
|
@@ -312,6 +316,6 @@
|
|
312
316
|
</anyName>
|
313
317
|
</attribute>
|
314
318
|
</zeroOrMore>
|
315
|
-
</define>
|
316
|
-
|
319
|
+
</define>
|
320
|
+
|
317
321
|
</grammar>
|
data/lib/ruby/riddl/server.rb
CHANGED
@@ -361,6 +361,7 @@ module Riddl
|
|
361
361
|
def get(min='*'); return false if @riddl_message.nil?; @riddl_path == '/' + @riddl_info[:s].join('/') && @riddl_message.in && min == @riddl_message.in.name && @riddl_method == 'get' end
|
362
362
|
def delete(min='*'); return false if @riddl_message.nil?; @riddl_path == '/' + @riddl_info[:s].join('/') && @riddl_message.in && min == @riddl_message.in.name && @riddl_method == 'delete' end
|
363
363
|
def put(min='*'); return false if @riddl_message.nil?; @riddl_path == '/' + @riddl_info[:s].join('/') && @riddl_message.in && min == @riddl_message.in.name && @riddl_method == 'put' end
|
364
|
+
def patch(min='*'); return false if @riddl_message.nil?; @riddl_path == '/' + @riddl_info[:s].join('/') && @riddl_message.in && min == @riddl_message.in.name && @riddl_method == 'patch' end
|
364
365
|
def websocket; return false if @riddl_message.nil?; @riddl_path == '/' + @riddl_info[:s].join('/') && @riddl_method == 'websocket' end
|
365
366
|
def resource(rname=nil); return rname.nil? ? '{}' : rname end
|
366
367
|
|
@@ -28,6 +28,7 @@ module Riddl
|
|
28
28
|
run Riddl::Utils::Properties::DelContent, backend, handler if delete
|
29
29
|
run Riddl::Utils::Properties::AddContent, backend, handler if post 'addcontent'
|
30
30
|
run Riddl::Utils::Properties::UpdContent, backend, handler if put 'updcontent'
|
31
|
+
run Riddl::Utils::Properties::PtcContent, backend, handler if patch 'updcontent'
|
31
32
|
on resource do
|
32
33
|
run Riddl::Utils::Properties::GetContent, backend, handler if get
|
33
34
|
run Riddl::Utils::Properties::DelContent, backend, handler if delete
|
@@ -428,6 +429,65 @@ module Riddl
|
|
428
429
|
end
|
429
430
|
end #}}}
|
430
431
|
|
432
|
+
class PtcContent < Riddl::Implementation #{{{
|
433
|
+
def response
|
434
|
+
backend = @a[0]
|
435
|
+
handler = @a[1]
|
436
|
+
|
437
|
+
property = @r[1]
|
438
|
+
value = @p.detect{|p| p.name == 'value'}; value = value.nil? ? value : value.value
|
439
|
+
content = @p.detect{|p| p.name == 'content'}; content = content.nil? ? content : content.value
|
440
|
+
minor = @r[2]
|
441
|
+
|
442
|
+
unless backend.modifiable?(property)
|
443
|
+
@status = 500
|
444
|
+
return # change properties.schema
|
445
|
+
end
|
446
|
+
|
447
|
+
path = "/p:properties/*[name()=\"#{property}\"]#{minor.nil? ? '' : "/p:#{minor}"}"
|
448
|
+
nodes = backend.data.find(path)
|
449
|
+
if nodes.empty?
|
450
|
+
@status = 404
|
451
|
+
return # this property does not exist
|
452
|
+
end
|
453
|
+
|
454
|
+
if backend.is_state?(property)
|
455
|
+
unless backend.valid_state?(property,nodes.first.to_s,value)
|
456
|
+
@status = 404
|
457
|
+
return # not a valid state from here on
|
458
|
+
end
|
459
|
+
end
|
460
|
+
|
461
|
+
newstuff = value.nil? ? XML::Smart.string(content).root.children : value
|
462
|
+
backend.modify do |doc|
|
463
|
+
nodes = doc.root.find(path)
|
464
|
+
nodes.each do |ele|
|
465
|
+
if value.nil?
|
466
|
+
newstuff.each do |child|
|
467
|
+
path = File.basename(child.path)
|
468
|
+
subele = ele.find(path).first
|
469
|
+
if subele
|
470
|
+
subele.replace_by(child)
|
471
|
+
else
|
472
|
+
ele.add(child)
|
473
|
+
end
|
474
|
+
end
|
475
|
+
ele.children.first.attributes['changed'] = Time.now.xmlschema if backend.is_state?(property)
|
476
|
+
else
|
477
|
+
ele.text = newstuff
|
478
|
+
ele.attributes['changed'] = Time.now.xmlschema if backend.is_state?(property)
|
479
|
+
end
|
480
|
+
end
|
481
|
+
end || begin
|
482
|
+
@status = 400
|
483
|
+
return # bad request
|
484
|
+
end
|
485
|
+
|
486
|
+
EM.defer{handler.property(property).update} unless handler.nil?
|
487
|
+
return
|
488
|
+
end
|
489
|
+
end #}}}
|
490
|
+
|
431
491
|
class UpdContent < Riddl::Implementation #{{{
|
432
492
|
def response
|
433
493
|
backend = @a[0]
|
@@ -11,7 +11,7 @@
|
|
11
11
|
</element>
|
12
12
|
<element name="not-existing">
|
13
13
|
<empty/>
|
14
|
-
</element>
|
14
|
+
</element>
|
15
15
|
</choice>
|
16
16
|
</start>
|
17
17
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
</choice>
|
24
24
|
</zeroOrMore>
|
25
25
|
</define>
|
26
|
-
|
26
|
+
|
27
27
|
<define name="any">
|
28
28
|
<element>
|
29
29
|
<anyName/>
|
@@ -71,7 +71,7 @@
|
|
71
71
|
<element name="properties">
|
72
72
|
<zeroOrMore>
|
73
73
|
<ref name="property"/>
|
74
|
-
</zeroOrMore>
|
74
|
+
</zeroOrMore>
|
75
75
|
</element>
|
76
76
|
</start>
|
77
77
|
|
@@ -80,7 +80,7 @@
|
|
80
80
|
<anyName/>
|
81
81
|
<data type="string"/>
|
82
82
|
</element>
|
83
|
-
</define>
|
83
|
+
</define>
|
84
84
|
|
85
85
|
</grammar>
|
86
86
|
</parameter>
|
@@ -89,7 +89,7 @@
|
|
89
89
|
<choice>
|
90
90
|
<parameter name="value" type="string"/>
|
91
91
|
<parameter name="value" mimetype="text/xml"/>
|
92
|
-
</choice>
|
92
|
+
</choice>
|
93
93
|
</message>
|
94
94
|
<message name="updcontent">
|
95
95
|
<choice>
|
@@ -97,7 +97,7 @@
|
|
97
97
|
<parameter name="value" mimetype="text/plain"/>
|
98
98
|
<parameter name="content" mimetype="text/xml"/> <!-- add everything inside the root tag -->
|
99
99
|
<parameter name="content" type="string"/> <!-- add everything inside the root tag -->
|
100
|
-
</choice>
|
100
|
+
</choice>
|
101
101
|
</message>
|
102
102
|
<message name="property">
|
103
103
|
<parameter name="name" type="string">
|
@@ -121,7 +121,7 @@
|
|
121
121
|
<get in="*" out="resource-document-schema"/>
|
122
122
|
<resource relative="rng">
|
123
123
|
<get in="*" out="resource-document-schema"/>
|
124
|
-
</resource>
|
124
|
+
</resource>
|
125
125
|
<resource relative="xsd">
|
126
126
|
<get in="*" out="resource-document-schema"/>
|
127
127
|
</resource>
|
@@ -135,6 +135,7 @@
|
|
135
135
|
<delete in="*"/>
|
136
136
|
<post in="addcontent"/>
|
137
137
|
<put in="updcontent"/>
|
138
|
+
<patch in="updcontent"/>
|
138
139
|
<resource>
|
139
140
|
<get in="*" out="value"/>
|
140
141
|
<put in="updcontent"/>
|
@@ -145,6 +146,6 @@
|
|
145
146
|
</resource>
|
146
147
|
</resource>
|
147
148
|
</resource>
|
148
|
-
</resource>
|
149
|
+
</resource>
|
149
150
|
|
150
151
|
</description>
|
@@ -24,13 +24,13 @@
|
|
24
24
|
<ref name="riddl-description-other-atts"/>
|
25
25
|
<ref name="riddl-transformation"/>
|
26
26
|
</element>
|
27
|
-
</choice>
|
27
|
+
</choice>
|
28
28
|
</zeroOrMore>
|
29
|
-
<element name="resource">
|
29
|
+
<element name="resource">
|
30
30
|
<ref name="riddl-resource-dynamic"/>
|
31
31
|
</element>
|
32
32
|
</define>
|
33
|
-
|
33
|
+
|
34
34
|
<define name="riddl-message">
|
35
35
|
<ref name="riddl-att-name"/>
|
36
36
|
<zeroOrMore>
|
@@ -48,29 +48,29 @@
|
|
48
48
|
<element name="add_header">
|
49
49
|
<oneOrMore>
|
50
50
|
<ref name="riddl-header"/>
|
51
|
-
</oneOrMore>
|
52
|
-
</element>
|
51
|
+
</oneOrMore>
|
52
|
+
</element>
|
53
53
|
<element name="add_as_first">
|
54
54
|
<oneOrMore>
|
55
55
|
<ref name="riddl-parameter"/>
|
56
|
-
</oneOrMore>
|
57
|
-
</element>
|
56
|
+
</oneOrMore>
|
57
|
+
</element>
|
58
58
|
<element name="add_as_last">
|
59
59
|
<oneOrMore>
|
60
60
|
<ref name="riddl-parameter"/>
|
61
|
-
</oneOrMore>
|
62
|
-
</element>
|
61
|
+
</oneOrMore>
|
62
|
+
</element>
|
63
63
|
<element name="add_before">
|
64
64
|
<ref name="riddl-att-name-star"/>
|
65
65
|
<oneOrMore>
|
66
66
|
<ref name="riddl-parameter"/>
|
67
|
-
</oneOrMore>
|
67
|
+
</oneOrMore>
|
68
68
|
</element>
|
69
69
|
<element name="add_after">
|
70
70
|
<ref name="riddl-att-name-star"/>
|
71
71
|
<oneOrMore>
|
72
72
|
<ref name="riddl-parameter"/>
|
73
|
-
</oneOrMore>
|
73
|
+
</oneOrMore>
|
74
74
|
</element>
|
75
75
|
<element name="remove_each">
|
76
76
|
<ref name="riddl-att-col-remove"/>
|
@@ -84,15 +84,15 @@
|
|
84
84
|
</choice>
|
85
85
|
</oneOrMore>
|
86
86
|
</define>
|
87
|
-
|
87
|
+
|
88
88
|
<define name="riddl-header">
|
89
89
|
<element name="header">
|
90
90
|
<ref name="riddl-att-name"/>
|
91
91
|
<choice>
|
92
92
|
<ref name="riddl-fixed"/>
|
93
93
|
<ref name="data"/>
|
94
|
-
</choice>
|
95
|
-
</element>
|
94
|
+
</choice>
|
95
|
+
</element>
|
96
96
|
</define>
|
97
97
|
|
98
98
|
<define name="riddl-message-content">
|
@@ -102,7 +102,7 @@
|
|
102
102
|
<ref name="riddl-optional"/>
|
103
103
|
<ref name="riddl-choice"/>
|
104
104
|
<ref name="riddl-parameter"/>
|
105
|
-
</choice>
|
105
|
+
</choice>
|
106
106
|
</define>
|
107
107
|
<define name="riddl-message-content-trimmed">
|
108
108
|
<choice>
|
@@ -111,7 +111,7 @@
|
|
111
111
|
<ref name="riddl-choice"/>
|
112
112
|
<ref name="riddl-group"/>
|
113
113
|
<ref name="riddl-parameter"/>
|
114
|
-
</choice>
|
114
|
+
</choice>
|
115
115
|
</define>
|
116
116
|
|
117
117
|
<define name="riddl-zeroOrMore">
|
@@ -119,8 +119,8 @@
|
|
119
119
|
<ref name="riddl-description-others"/>
|
120
120
|
<oneOrMore>
|
121
121
|
<ref name="riddl-message-content"/>
|
122
|
-
</oneOrMore>
|
123
|
-
</element>
|
122
|
+
</oneOrMore>
|
123
|
+
</element>
|
124
124
|
</define>
|
125
125
|
<define name="riddl-oneOrMore">
|
126
126
|
<element name="oneOrMore">
|
@@ -128,15 +128,15 @@
|
|
128
128
|
<oneOrMore>
|
129
129
|
<ref name="riddl-message-content"/>
|
130
130
|
</oneOrMore>
|
131
|
-
</element>
|
131
|
+
</element>
|
132
132
|
</define>
|
133
133
|
<define name="riddl-optional">
|
134
134
|
<element name="optional">
|
135
135
|
<ref name="riddl-description-others"/>
|
136
136
|
<oneOrMore>
|
137
137
|
<ref name="riddl-message-content"/>
|
138
|
-
</oneOrMore>
|
139
|
-
</element>
|
138
|
+
</oneOrMore>
|
139
|
+
</element>
|
140
140
|
</define>
|
141
141
|
<define name="riddl-choice">
|
142
142
|
<element name="choice">
|
@@ -152,7 +152,7 @@
|
|
152
152
|
<oneOrMore>
|
153
153
|
<ref name="riddl-message-content"/>
|
154
154
|
</oneOrMore>
|
155
|
-
</element>
|
155
|
+
</element>
|
156
156
|
</define>
|
157
157
|
<define name="riddl-parameter">
|
158
158
|
<element name="parameter">
|
@@ -166,52 +166,52 @@
|
|
166
166
|
<data type="string">
|
167
167
|
<param name="pattern">(([\c]+|\*)/[\c\+]+)|([\c]+/([\c\+]+|\*))|\*</param>
|
168
168
|
</data>
|
169
|
-
</attribute>
|
169
|
+
</attribute>
|
170
170
|
<optional>
|
171
171
|
<attribute name="handler">
|
172
172
|
<data type="anyURI"/>
|
173
|
-
</attribute>
|
173
|
+
</attribute>
|
174
174
|
</optional>
|
175
175
|
<optional>
|
176
176
|
<ref name="any"/>
|
177
|
-
</optional>
|
178
|
-
</group>
|
177
|
+
</optional>
|
178
|
+
</group>
|
179
179
|
</choice>
|
180
180
|
</element>
|
181
|
-
</define>
|
181
|
+
</define>
|
182
182
|
|
183
183
|
<define name="riddl-fixed">
|
184
184
|
<optional>
|
185
185
|
<attribute name="fixed">
|
186
186
|
<data type="string"/>
|
187
187
|
</attribute>
|
188
|
-
</optional>
|
188
|
+
</optional>
|
189
189
|
</define>
|
190
190
|
|
191
191
|
<define name="riddl-resource-attributes">
|
192
192
|
<optional>
|
193
193
|
<attribute name="pattern">
|
194
194
|
<data type="anyURI"/>
|
195
|
-
</attribute>
|
195
|
+
</attribute>
|
196
196
|
</optional>
|
197
197
|
<optional>
|
198
198
|
<attribute name="role">
|
199
199
|
<data type="anyURI"/>
|
200
|
-
</attribute>
|
200
|
+
</attribute>
|
201
201
|
</optional>
|
202
202
|
<ref name="riddl-description-others"/>
|
203
203
|
</define>
|
204
|
-
|
204
|
+
|
205
205
|
<define name="riddl-resource-recursive-choice">
|
206
206
|
<choice>
|
207
207
|
<attribute name="recursive">
|
208
208
|
<data type="boolean"/>
|
209
|
-
</attribute>
|
209
|
+
</attribute>
|
210
210
|
<group>
|
211
211
|
<ref name="riddl-resource-sub"/>
|
212
|
-
</group>
|
213
|
-
</choice>
|
214
|
-
</define>
|
212
|
+
</group>
|
213
|
+
</choice>
|
214
|
+
</define>
|
215
215
|
|
216
216
|
<define name="riddl-resource-dynamic">
|
217
217
|
<ref name="riddl-resource-attributes"/>
|
@@ -226,7 +226,7 @@
|
|
226
226
|
<ref name="riddl-resource-content"/>
|
227
227
|
<ref name="riddl-resource-recursive-choice"/>
|
228
228
|
</define>
|
229
|
-
|
229
|
+
|
230
230
|
<define name="riddl-resource-sub">
|
231
231
|
<!-- One dynamic resources, multiple named ones, before or after the dynamic -->
|
232
232
|
<zeroOrMore>
|
@@ -244,7 +244,7 @@
|
|
244
244
|
<ref name="riddl-resource-named"/>
|
245
245
|
</element>
|
246
246
|
</zeroOrMore>
|
247
|
-
</define>
|
247
|
+
</define>
|
248
248
|
|
249
249
|
<define name="riddl-resource-content">
|
250
250
|
<zeroOrMore>
|
@@ -261,6 +261,10 @@
|
|
261
261
|
<ref name="riddl-atts-request"/>
|
262
262
|
<ref name="riddl-description-others"/>
|
263
263
|
</element>
|
264
|
+
<element name="patch">
|
265
|
+
<ref name="riddl-atts-request"/>
|
266
|
+
<ref name="riddl-description-others"/>
|
267
|
+
</element>
|
264
268
|
<element name="delete">
|
265
269
|
<ref name="riddl-atts-request"/>
|
266
270
|
<ref name="riddl-description-others"/>
|
@@ -269,11 +273,11 @@
|
|
269
273
|
<ref name="riddl-att-method"/>
|
270
274
|
<ref name="riddl-atts-request"/>
|
271
275
|
<ref name="riddl-description-others"/>
|
272
|
-
</element>
|
276
|
+
</element>
|
273
277
|
<element name="websocket">
|
274
278
|
<empty/>
|
275
|
-
</element>
|
276
|
-
</choice>
|
279
|
+
</element>
|
280
|
+
</choice>
|
277
281
|
</zeroOrMore>
|
278
282
|
</define>
|
279
283
|
|
@@ -298,7 +302,7 @@
|
|
298
302
|
</zeroOrMore>
|
299
303
|
</element>
|
300
304
|
</zeroOrMore>
|
301
|
-
</define>
|
305
|
+
</define>
|
302
306
|
|
303
307
|
<define name="riddl-description-other-atts">
|
304
308
|
<zeroOrMore>
|
@@ -312,6 +316,6 @@
|
|
312
316
|
</anyName>
|
313
317
|
</attribute>
|
314
318
|
</zeroOrMore>
|
315
|
-
</define>
|
316
|
-
|
319
|
+
</define>
|
320
|
+
|
317
321
|
</grammar>
|
data/riddl.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: riddl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.100.
|
4
|
+
version: 0.100.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen 'eTM' Mangler
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: tools
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-03-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: daemonite
|
@@ -392,6 +392,13 @@ files:
|
|
392
392
|
- examples/properties/properties.xml
|
393
393
|
- examples/properties/server.properties.schema
|
394
394
|
- examples/properties/server.properties.xml
|
395
|
+
- examples/propnew/description.conf
|
396
|
+
- examples/propnew/description.rb
|
397
|
+
- examples/propnew/properties.schema.xsl
|
398
|
+
- examples/propnew/properties.xml
|
399
|
+
- examples/propnew/server.properties.schema
|
400
|
+
- examples/propnew/server.properties.xml
|
401
|
+
- examples/propnew/test
|
395
402
|
- examples/twitter/README
|
396
403
|
- examples/twitter/client.rb
|
397
404
|
- examples/twitter/declaration.xml
|