<root name="parent"> <node id="node1"> <nested-node id="n-node1">parent-value1</nested-node> </node> <node id="node2"> <nested-node id="n-node2">parent-value2</nested-node> <nested-node id="n-node3">parent-value3</nested-node> </node> </root>
<root name="child" parent="parent"> <node id="node2"> <nested-node id="n-node2>child-value</nested-node> </node> </root>
<root name="child" parent="parent"><!-- Attributes wich the same name is overriden, new attribute is merged --> <node id="node1"><!-- Completely inherited, much like getEAllStructuralFeatures --> <nested-node id="n-node1">parent-value1</nested-node> </node> <node id="node2"> <nested-node id="n-node2">child-value</nested-node> <!-- As the child has the node with the same URI (by IDs), it overrides the parent value --> <nested-node id="n-node3">parent-value3</nested-node> </node> </root>
So you want to create new derived objects, not just derived values for
features?
Will you need these derived features to stay in sync dynamically with
the changes you make to the model?