It works for me with Tamino 2.3 as well as with 2.2.
I have these 3 schemas defined where 2 joins are defined. One with by ino:id one by key :
Employees
<?xml version="1.0"?>
<ino:collection ino:name=“join” ino:key=“ID001”>
<ino:doctype ino:name=“employee” ino:key=“ID_employee” ino:options=“READ INSERT UPDATE DELETE” ino:structure-index=“CONDENSED”>
<ino:node ino:name=“employee” ino:key=“id0000000270” ino:obj-type=“SEQ” ino:parent=“ID_employee” ino:search-type=“no” ino:data-type=“WCHAR” ino:map-type=“InfoField”/>
<ino:node ino:name=“department” ino:key=“id0000000271” ino:obj-type=“PCDATA” ino:parent=“id0000000270” ino:search-type=“no” ino:data-type=“INTEGER” ino:map-type=“InfoField”/>
<ino:node ino:name=“belongs” ino:key=“id0000000272” ino:obj-type=“EMPTY” ino:parent=“id0000000271” ino:search-type=“no” ino:map-type=“Object” ino:query=“did=%department” ino:object-ref=“join/department”/>
<ino:node ino:name=“name” ino:key=“id0000000273” ino:obj-type=“PCDATA” ino:parent=“id0000000270” ino:search-type=“standard text” ino:data-type=“WCHAR” ino:map-type=“InfoField”/>
</ino:doctype>
</ino:collection>
Project:
<?xml version="1.0"?>
<ino:collection ino:name=“join” ino:key=“ID001”>
<ino:doctype ino:name=“project”
ino:key=“ID_project”
ino:options=“READ INSERT UPDATE DELETE”
ino:structure-index=“CONDENSED”>
<ino:node ino:name=“project”
ino:key=“id0000000274”
ino:obj-type=“SEQ”
ino:parent=“ID_project”
ino:search-type=“no”
ino:data-type=“WCHAR”
ino:map-type=“InfoField”/>
<ino:node ino:name=“description”
ino:key=“id0000000275”
ino:obj-type=“PCDATA”
ino:parent=“id0000000274”
ino:search-type=“text”
ino:data-type=“WCHAR”
ino:map-type=“InfoField”/>
<ino:node ino:name=“member”
ino:key=“id0000000276”
ino:obj-type=“PCDATA”
ino:parent=“id0000000274”
ino:multiplicity=“+”
ino:search-type=“standard”
ino:data-type=“INTEGER”
ino:map-type=“InfoField”/>
<ino:node ino:name=“emp”
ino:key=“id0000000277”
ino:obj-type=“EMPTY”
ino:parent=“id0000000276”
ino:search-type=“no”
ino:map-type=“Object”
ino:query=“@ino:id=%member”
ino:object-ref=“join/employee”/>
<ino:node ino:name=“name”
ino:key=“id0000000278”
ino:obj-type=“PCDATA”
ino:parent=“id0000000274”
ino:search-type=“text”
ino:data-type=“WCHAR”
ino:map-type=“InfoField”/>
</ino:doctype>
</ino:collection>
Department:
<?xml version="1.0"?>
<ino:collection ino:name=“join” ino:key=“ID001”>
<ino:doctype ino:name=“department”
ino:key=“ID_department”
ino:options=“READ INSERT UPDATE DELETE”
ino:structure-index=“CONDENSED”>
<ino:node ino:name=“department”
ino:key=“id0000000266”
ino:obj-type=“SEQ”
ino:parent=“ID_department”
ino:search-type=“no”
ino:data-type=“WCHAR”
ino:map-type=“InfoField”/>
<ino:node ino:name=“description”
ino:key=“id0000000267”
ino:obj-type=“PCDATA”
ino:parent=“id0000000266”
ino:search-type=“text”
ino:data-type=“WCHAR”
ino:map-type=“InfoField”/>
<ino:node ino:name=“did”
ino:key=“id0000000268”
ino:obj-type=“PCDATA”
ino:parent=“id0000000266”
ino:search-type=“standard”
ino:data-type=“INTEGER”
ino:map-type=“InfoField”/>
<ino:node ino:name=“name”
ino:key=“id0000000269”
ino:obj-type=“PCDATA”
ino:parent=“id0000000266”
ino:search-type=“text”
ino:data-type=“WCHAR”
ino:map-type=“InfoField”/>
</ino:doctype>
</ino:collection>
After adding some (consistent) data to it the following query works:
employees[name~=“peter”]/department/belongs/name
which shows the name of "peter"s department.
#webMethods#API-Management#Tamino