[ 
https://issues.apache.org/jira/browse/TUSCANY-988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12491857
 ] 

Caroline Maynard commented on TUSCANY-988:
------------------------------------------

See http://pecl.php.net/bugs/bug.php?id=10842

> Xpath doesn't work with nested open properties
> ----------------------------------------------
>
>                 Key: TUSCANY-988
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-988
>             Project: Tuscany
>          Issue Type: Bug
>          Components: C++ SDO
>    Affects Versions: Cpp-current
>            Reporter: Caroline Maynard
>             Fix For: Cpp-M3
>
>
> I'm using the same Jungle schema as before, but this time my bear type is 
> itself open. So the jungle is: 
> <schema  
>   xmlns="http://www.w3.org/2001/XMLSchema";>
>   
>   <element name="jungle">
>     <complexType>
>       <sequence>
>         <any minOccurs="0" maxOccurs="unbounded"/>
>       </sequence>
>     </complexType>
>   </element>
>   
> </schema>
> and the bear is: 
> <schema xmlns="http://www.w3.org/2001/XMLSchema";>
>    
>    <complexType name="bearType">
>      <sequence>
>        <any minOccurs="0" maxOccurs="unbounded"/>
>        <element name= "name" type="string"/>
>        <element name= "weight" type="positiveInteger" />
>      </sequence>
>    </complexType>
> </schema>
> I load the jungle and the animal schemas into the same data factory. Then 
> create an empty xml document, assign into it a bear, then assign into that 
> bear a second bear. The instance is created fine, and I can access the nested 
> bear or dump out the entire instance: 
> <?xml version="1.0" encoding="UTF-8"?>
> <jungle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>   <bear xsi:type="bearType">
>     <name>Mummy Bear</name>
>     <weight>700</weight>
>     <bear xsi:type="bearType">
>       <name>Baby Bear</name>
>       <weight>100</weight>
>     </bear>
>   </bear>
> </jungle>
> The problem occurs when I try to use Xpath notation to reach the baby bear, 
> so I'm doing a getProperty("bear/bear") on the jungle object. This fails in
> commonj::sdo::DataObjectImpl::getPropertyImpl(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> {0x01131b69 "bear/bear"}) line 3228 + 42 bytes
> commonj::sdo::DataObjectImpl::getProperty(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> {0x01131b69 "bear/bear"}) line 3205 + 20 bytes
> commonj::sdo::DataObjectImpl::getProperty(const char * 0x01a7e840) line 3200 
> + 59 bytes
> because it doesn't handle the name as a potential Xpath, and reaches the end 
> of the iteration without a match. An SDOPropertyNotFoundException is raised 
> with the message "Cannot find property :bear/bear".

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to