Xpath doesn't work with nested open properties
----------------------------------------------
Key: TUSCANY-988
URL: http://issues.apache.org/jira/browse/TUSCANY-988
Project: Tuscany
Issue Type: Bug
Components: C++ SDO
Affects Versions: Cpp-current
Reporter: Caroline Maynard
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.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]