Edit report at http://pecl.php.net/bugs/bug.php?id=9867&edit=1
ID: 9867 Updated by: [EMAIL PROTECTED] Reported By: mfp at php dot net Status: Assigned Id: 9867 Type: Bug Package: SCA_SDO Operating System: WinXP PHP Version: 5.1.6 Assigned To: tuscany New Comment: After raising Tuscany JIRA 1231 I found Tuscany JIRA 1112 which I had raised earlier. 1112 is the JIRA that covers this. It has been open for three months though. Previous Comments: ------------------------------------------------------------------------ [2007-05-09 05:36:14] phpsoa at gmail dot com just testing to see to where this comment gets emailed - please ignore ------------------------------------------------------------------------ [2007-04-24 13:09:38] mfp at php dot net My mistake, Tuscany 962 is fixed and not quite the same as it affects open types. I have raised JIRA 1231 instead ------------------------------------------------------------------------ [2007-04-24 11:11:24] mfp at php dot net Although there are several problems reported here, I think this is partly covered by https://issues.apache.org/jira/browse/TUSCANY-962 In that JIRA, the problem of something being in the default namespace when it should be in its own is raised. I think it best to wait for a resolution to that and see if any part of this defect still stands. ------------------------------------------------------------------------ [2007-01-31 07:21:20] mfp at php dot net I just came across what I think is another example of this. Now I understand better how namespaces work, I suspect it is more common than we realise. Here's the example in a nutshell: Catalog.xsd defines a catalog element in the catalogNS namespace, which contains items defined in a different namespace in a different file, Order.xsd: <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:cat="catalogNS" xmlns:ord="orderNS" targetNamespace="catalogNS"> <include schemaLocation="Order.xsd"/> <element name="catalog" type="cat:CatalogType"/> <complexType name="CatalogType"> <sequence> <element maxOccurs="unbounded" ref="ord:item"/> </sequence> </complexType> </schema> Order.xsd defines the item element as being in the "OrderNS" namespace: .../... <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ord="orderNS" xmlns:cust="customerNS" targetNamespace="orderNS"> .../... <element name="item"> .../... but when you build a catalog and write it out, although a namespace prefix is defined for "orderNS", everything is in the default namespace, "catalogNS": <catalog xmlns="catalogNS" xmlns:tns="catalogNS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns2="orderNS"> <item> .../... ------------------------------------------------------------------------ [2007-01-18 08:46:57] mfp at php dot net Description: ------------ I have been quite sceptical about the XML that SDO is producing when it builds a SOAP request, especially w.r.t. the namespaces. So I tried loading the XML that SDO is producing into Java XERCES with validation on. There are several problems with the XML generated, I think. Using the two xsds that are in the reproduce section below, and the short PHP script also there, SDO generates: <?xml version="1.0" encoding="UTF-8"?> <BOGUS xmlns="http://Component" xmlns:tns="http://Component" xmlns:tns2="http://www.test.com/info" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="add"> <person> <tns2:name> <first>Will</first> <last>Shakespeare</last> </tns2:name> </person> </BOGUS> There are three (!) things wrong with this. 1. XERCES will not accept the xsi:type="add". I do not really know why. I assume this is because there is no type called "add", it's only an element. So I do not think this should be coming out. 2. name should not be in tns2=http://www.test.com/info, neither should "first" and "last" be in the default namespace of http://Component. The person.xsd has no elementFormDefault, so the elements below <person> should all ne in the no name namespace. 3.You have to change the person.xsd to see the third thing: put ElementNameDefault="qualified" in the person schema, then "name", "first" and "last" should all now be coming out in the http://www.test.com/info namespace, but it makes no difference to the generated XML. Reproduce code: --------------- <?php $xmldas = SDO_DAS_XML::create('types.xsd'); $person = $xmldas->createDataObject('http://www.test.com/info','personType'); $name = $person->createDataObject('name'); $name->first = "Will"; $name->last = "Shakespeare"; $add = $xmldas->createDataObject('http://Component','add'); $add->person = $person; $xdoc = $xmldas->createDocument('', 'BOGUS', $add); $xmlstr = $xmldas->saveString($xdoc, 2); echo $xmlstr; ?> types.xsd: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.test.com/info" targetNamespace="http://Component" elementNameDefault="qualified"> <xs:import schemaLocation="person.xsd" namespace="http://www.test.com/info"/> <xs:element name="add"> <xs:complexType> <xs:sequence> <xs:element name="person" type="ns0:personType" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> person.xsd: <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.test.com/info" xmlns:info="http://www.test.com/info"> <complexType name="nameType"> <sequence> <element name="first" type="string"></element> <element name="last" type="string"></element> </sequence> </complexType> <complexType name="personType"> <sequence> <element name="name" type="info:nameType"></element> </sequence> </complexType> </schema> Expected result: ---------------- see above Actual result: -------------- see above ------------------------------------------------------------------------ -- Edit this bug report at http://pecl.php.net/bugs/bug.php?id=9867&edit=1 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "phpsoa" group. To post to this group, send email to phpsoa@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.co.uk/group/phpsoa?hl=en -~----------~----~----~----~------~----~------~--~---