TODO   [plain text]


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 references for soap encoding (use serialization 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
----
- ???