Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Soap_Wsdl_Strategy_DefaultComplexType Component Proposal

Proposed Component Name Zend_Soap_Wsdl_Strategy_DefaultComplexType
Developer Notes
Proposers Jeannie BOFFEL
Zend Liaison TBD
Revision 1.0 - 11 November 2010: Initial Draft. (wiki revision: 22)

Table of Contents

1. Overview

Improvement of Zend_Soap_Wsdl_Strategy_DefaultComplexType goal is to give a real possibility to describe XSD for auto-generated WSDL via PHP Document in commentaries without breaking existing code using current version.

The goal is not to give a full support of XSD technology. But at least, we could try to make possible usage of 80% or 90% of basic component of XSD. Most used one. I think this goal is reach with current version.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will add support for describing XSD of auto-generated WSDL through the use of the AutoDiscovery.
  • This component will replace existing Zend_Soap_Wsdl_Strategy_DefaultComplexType component.
  • This component will generate same XSD+WSDL than previous component if new features are not used (not breaking code).
  • This component will reserve php Doc tag @xsd for any action linked to new features.
  • This component will not validate the XSD generated. Meanning we don't prevent user from doing wrong XSD by adding unexisting attribute to an element for example.
  • This component will not be exhaustive and will not support all XSD features immediately.

4. Dependencies on Other Framework Components

  • Zend_Soap

5. Theory of Operation

The component is instantiated by AutoDiscovery system of Zend Framework when trying to auto-generate a WSDL+XSD via reflection on the code.

6. Milestones / Tasks

  • Milestone #: [DONE] Design
  • Milestone #: [DONE] Proof of concept by implement new complex type strategy
  • Milestone #: [DONE] Start support of based most use tag of XSD, such as sequence, choice, all
  • Milestone #: [DONE] Start support of basical restriction such as minOccurs, maxOccurs
  • Milestone #: [DONE] Start support of simpleType through new class, like for complexType
  • Milestone #: [DONE] Start support of more complex restriction type such as pattern, enumeration through simpleType support
  • Milestone #: [DONE] Start support of union and list through simpleType support
  • Milestone 1: Working prototype checked into the incubator supporting use cases #1.
  • Milestone 2: Unit tests exist, work, and are checked into SVN.
  • Milestone 3: Initial documentation exists.

7. Class Index

  • Zend_Soap_Wsdl_Strategy_DefaultComplexType

8. Use Cases


Basic exemple with 2 simpleType, 3 complexType, 1 function


Example of union of simpleType :

Generated WSDL+XSD for Use Case 1

Generated part of XSD for Use Case 2

9. Class Skeletons


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.