General

-------

- make sure soapserver.map(), soap_encode_to_xml() and soap_encode_to_zval() are really need

- reimplement SoapObject::__getfunctions() and SoapObject::__gettypes()

  to return structures instead of strings

- error handling???



SOAP

----

- SOAP routing

- root attribute (it is defined by SOAP 1.1, but not SOAP 1.2)

- make sure soap 1.1 and 1.2 are supported fully



Encoding

--------

? full support for standard simple types (

  ? language, (pattern: "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*")

  ? NMTOKEN, (pattern: "\c+") (\c: [a-zA-Z0-9.\-_:])

  ? NMTOKENS, (list: NMTOKEN, minLength: 1)

  ? Name, (pattern: "\i\c*") (\i: [a-zA-Z_:]

  ? NCName, (pattern: "[\i-[:]][\c-[:]]*")

  ? ID, (base: NCName)

  ? IDREF, (base: NCName)

  ? IDREFS, (list: IDREF; minLength: 1)

  ? ENTITY, (base: NCName)

  ? ENTITIES,  (list: ENTITY; minLength: 1)

  ? duration)

? full support for standard date/time types (

  ? dateTime,

  ? time,

  ? date,

  ? gYearMonth,

  ? gYear,

  ? gMonthDay,

  ? gDay,

  ? gMonth)

? full support for arrays

  - SOAP 1.1 encoding of arrays with holes (partially transmitted and sparse arrays)

	  SOAP 1.2 doesn't support partially transmitted and sparse arrays

- references to external resources

? support for "nillable" and "nil"

? default values of <element>

? provide schema 1999/2001 support???

? make internal refrences for soap encoding (use seralization logic)???

? provide user space overriding of serialization certin objects and types???



WSDL

----

? server part support for "document" style encoding

? support for <fault>, <soap:fault>

? <soap:headerfault>

- <soap:body> parts attribute (with MIME/DIME binding)

- MIME binding

- DIME binding

- support for portType/operation parameterOrder attribute

- support for binding operation input/output name attribute (part of overloading)

- function/method overloading/redeclaration (test(int); test(string))

- wsdl auto generation

- HTTP GET/POST binding

- SOAP security extension



Schema

------

- <redefine>

? support for user defined simple types

  ? restiction

	  ? enumeration

		? length (for string, anyURI, hexBinary, base64Binary and derived) list???

		? minLength (for string, hexBinary, base64Binary and derived) list???

		? maxLength (for string, hexBinary, base64Binary and derived) list???

		+ whiteSpace (preserve, replace [#x9,#xA,#xD=>#x20], collapse [replace+?])

		- pattern

	  - minExclusive (for numeric, date types)

		- minInclusive (for numeric, date types)

		- maxExclusive (for numeric, date types)

		- maxInclusive (for numeric, date types)

		- totalDigits (for decimal)

		- fractionDigits (for decimal)

	? union

? support for user defined complex types

  ? full support for content model encoding/decoding

  - <any>

  - <anyAttribute>



Transport

---------

? HTTP status codes

? HTTP chunked Transfer-Encoding

? support for HTTP compression (gzip,x-gzip,defalte)

- transport abstraction layer???



Interop Testing

---------------

- more interop rounds/groups



UDDI

----

- ???

