Re: xml-rpc and WSDL - progress report

"gaetanogiunta2000" <[email protected]>
Newsgroups gmane.text.xml.rpc.specification
Message-ID <[email protected]>
--- In [email protected], Stephane Bortzmeyer <bortzmeyer@n...>
wrote:

>...
> 
> Right, but here is a fixed (and documented) version, thanks to Eric van
> der Vlist.
> 
> 

OK, here's the the 'improved' version:
- added a draconian regexp to datetime values
- slightly modified the DC metadata

BTW: I uploaded both the rnc and rng files to phpxmlrpc.sf.net (the
xml version misses the dc stuff)...

----------------------------------------
# RelaxNG non authoritative schema for XML-RPC
(http://www.xmlrpc.com/spec)

namespace dublin = "http://purl.org/dc/elements/1.1/"

dublin:title [ "RelaxNG non authoritative schema for XML-RPC" ]
dublin:description [ "The XML-RPC protocol
(http://www.xmlrpc.com/spec) has been
  specified a long time ago, at the dawn of XML and is described only
in natural
  language. Attempts have been made to reverse specify it with DTD or XSD
  (http://www.cafeconleche.org/books/xmljava/chapters/ch02s05.html),
with little
  success. We try here with RelaxNG." ]
dublin:creator [ "Stephane Bortzmeyer <bortzmeyer@...>" ]
dublin:contributor [ "Gaetano Giunta" ]
dublin:contributor [ "Eric van der Vlist" ]
dublin:identifier [ "$Id: schema.rnc,v 1.2 2005/12/02 23:50:29 ggiunta
Exp $" ]
dublin:rights [ "Use as you please" ]

start = methodcall | methodresponse

methodcall = element methodCall {methodname, params?}

methodresponse = element methodResponse {fault | uniqueparams}

methodname = element methodName {xsd:string {pattern =
"[a-zA-Z0-9_\.,/]+"}}

params = element params {param+}

uniqueparams = element params {param}

param = element param {value}

value = element value {typedparam | text}

typedparam = integer | boolean | stringval | double | datetime | base64 | 
             array | struct # string is a keyword

integer = element i4 {xsd:int} | element int {xsd:int} 

boolean = element boolean {"0" | "1"} # *Not* xsd:boolean (see the spec)

stringval = element string {text} 

double = element double {xsd:double}

datetime = element dateTime.iso8601 {xsd:string {pattern =
"[0-9]{4}[0-1][0-9][0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]"}}
                                     # xsd:date does not allow
"20051130T12:10:56"

base64 = element base64 {text}

array = element array {element data {value*}}

struct = element struct {namedmember*}

namedmember = element member {membername & value}

membername = element name {text}

fault = element fault {faultvalue}

faultvalue = element value {faultstruct}

faultstruct = element struct {(faultcode, faultstring) |
                              (faultstring, faultcode)}

faultcode = element member {element name {"faultCode"} &
                            element value {integer}}

faultstring = element member {element name {"faultString"} &
                              element value {stringval | text}}






 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/xml-rpc/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.