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
         
     |