Hi,

I think I found something strange in the ADL-parser.


See following ADL:

attribute3 matches {
     use_node SECTION /items[at0001]
     use_node SECTION /items[at0002]
}
attribute4 cardinality matches {0..*} matches {
     use_node SECTION[at0006] /items[at0002]
     use_node SECTION[at0005] /items[at0001]
}

The nodes where pointed to, exist, they look like this

items cardinality matches {0..*} matches {
     SECTION[at0001] occurrences matches {0..1} matches {*}
     SECTION[at0002] occurrences matches {1..2} matches {*}
}

When I parse this, I come to following questions

At /attribute3, it only occurs once in  the Archetype's->pathNodeMap.
I think that one entry is overwritten by the next, because the path's 
are the same
This is a faulty entry in the archetype.

But /attribute4 is parsed wrong I think.
It should occur twice in the pathNodeMap because the path's shoudl be 
different.
But they do not. And that is because the archetype_node_id is not taken 
into account.

There should, in my opinion, have been two paths
/attribute4[at0006]
/attribute4[at0007]

So if I am right, there is a bug in the code in ADL.jj which parses 
internal-refs, it should add the node_id's

Can someone please comment on this. Repairing may not be that hard

Thanks
Bert Verhees
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20140321/9cbb42a9/attachment.html>

Reply via email to