|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #57805 <choice> is not enforced
Submitted: 2007-08-28 17:20 UTC Modified: 2017-01-10 08:09 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
Have you experienced this issue?
Rate the importance of this bug to you:

 [2007-08-28 17:20 UTC] mattsch at gmail dot com
I am able set more than one element in a choice when only one element should be allowed.

Reproduce code:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="">

<xsd:element name="request" type="requestType"/>

<xsd:complexType name="requestType" abstract="true"/>

<xsd:complexType name="collectionInfo">
    <xsd:extension base="requestType">
        <xsd:element name="collection" type="xsd:token"/>
        <xsd:element name="collection2" type="xsd:token"/>
      <xsd:attribute name="kind" type="xsd:string" fixed="collectionInfo"/>

<xsd:element name="request-list">
        <xsd:element ref="request" minOccurs="0" maxOccurs="unbounded"/>



try {
	$xmldas = SDO_DAS_XML::create("request.xsd");
	try {
		$doc = $xmldas->createDocument('', 'request-list');
		$rdo = $doc->getRootDataObject();
		$request = $xmldas->createDataObject('', 'collectionInfo');
		$request->collection = 'foo bar';
		$request->collection2 = 'foo2 bar2';
		$request->kind = 'collectionInfo';
	} catch (SDO_Exception $e) {
} catch (SDO_Exception $e) {
	print("Problem creating an XML document: " . $e->getMessage());


Expected result:
Throw a choice exception stating that only one element can be set in a choice.

Actual result:
<?xml version="1.0" encoding="UTF-8"?>
<request-list xmlns:xsi=""><request xsi:type="collectionInfo" kind="collectionInfo"><collection>foo bar</collection><collection2>foo2 bar2</collection2></request></request-list>


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2007-08-28 17:21 UTC] mattsch at gmail dot com
Changed php version.
 [2017-01-10 08:09 UTC]
-Status: Open +Status: Suspended
 [2017-01-10 08:09 UTC]
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: Fri Jun 14 07:01:49 2024 UTC