php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #57765 getSequence() returns null with a complexType defined without mixed="true"
Submitted: 2007-08-01 13:15 UTC Modified: 2017-01-10 08:07 UTC
From: mattsch at gmail dot com Assigned:
Status: Suspended Package: SCA_SDO (PECL)
PHP Version: 5.2.3 OS: Gentoo Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
MUST BE VALID
Solve the problem:
41 + 6 = ?
Subscribe to this entry?

 
 [2007-08-01 13:15 UTC] mattsch at gmail dot com
Description:
------------
getSequence() returns null with a complexType defined without mixed="true".

Reproduce code:
---------------
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xs:element name="letters" type="FormLetter"/>
  <xs:complexType name="FormLetter">
      <xs:sequence>
      <xs:element name="date" minOccurs="1" type="xs:string"/>
      <xs:element name="firstName" minOccurs="1" type="xs:string"/>
      <xs:element name="lastName" minOccurs="1" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

<?php
/**
 * Create an XML document from scratch
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   try {
       $doc = $xmldas->createDocument();
       $rdo = $doc->getRootDataObject();
       $seq = $rdo->getSequence();
       $seq->insert("April 09, 2005", NULL, 'date');
       $seq->insert("Tarun", NULL, "firstName");
       $seq->insert("Nayaraaa", NULL, "lastName");
       $rdo->lastName = "Nayar";
       print($xmldas->saveString($doc));
   } catch (SDO_Exception $e) {
       print($e);
   }
} catch (SDO_Exception $e) {
   print("Problem creating an XML document: " . $e->getMessage());
}
?>


Expected result:
----------------
<?xml version="1.0" encoding="UTF-8"?>
<letters xmlns="http://letterSchema" xmlns:tns="http://letterSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><date>April 09, 2005</date><firstName>Tarun</firstName><lastName>Nayar</lastName></letters>


Actual result:
--------------
Fatal error: Call to a member function insert() on a non-object in letter.php on line 11

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-08-01 13:25 UTC] mattsch at gmail dot com
There wasn't a choice for 5.2.3.  Changing version.
 [2007-08-01 17:09 UTC] lowt at bigfoot dot com
Looking at the code, SDOSchemaSAX2Parser::startComplexType, and SDOSchemaSAX2Parser::defineType appears to be the two places that isSequenced is set.  In startComplexType, it appears that both mixed and sequence are both treated as an attribute.  We cannot tell if it ever reads the child <sequence>,

It appears that isSequenced should be set to true on the basis of the child <sequence> and not on the basis of mixed.
 [2007-08-02 11:15 UTC] mattsch at gmail dot com
Since this seems to a be a Tuscany problem, here's a link:

https://issues.apache.org/jira/browse/TUSCANY-1504
 [2007-08-02 12:10 UTC] mfp@php.net
Matt, I'm impressed! You've raised the defect, investigated and pinpointed the problem, and passed the problem on to Tuscany, all in double-quick time. There's nothing left to do :-)
 [2017-01-10 08:07 UTC] kalle@php.net
-Status: Assigned +Status: Suspended -Assigned To: tuscany 1504 +Assigned To:
 [2017-01-10 08:07 UTC] kalle@php.net
Suspending this report as the extension have not had a release for almost 9 years.  Please revive this if the extension once again shows life
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue May 14 14:01:33 2024 UTC