<xsd:attribute id="att.inherit" name="inherit" type="inheritType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary" xmlns:h="http://www.w3.org/1999/xhtml">Inheritance mechanism.</h:div>
<h:div class="description" xmlns:h="http://www.w3.org/1999/xhtml">
<h:p>A reference to an existing element can be used to supplement values such as coordinates. The <h:tt>inheritance</h:tt> attribute determines whether the values are supplemented, overwritten or deleted. In the example:</h:p>
<h:pre>
<molecule id="m1" view="initial">
<atomArray>
<atom id="a1" x3="0.1"/>
</atomArray>
</molecule>
<!-- this adds more information -->
<molecule ref="m1" view="initial" inherit="supplement">
<atomArray>
<atom id="a1" hydrogenCount="1"/>
</atomArray>
</molecule>
<!-- this will overwrite the previous values -->
<molecule ref="m1" inherit="overwrite" view="final"
id="m2">
<atomArray>
<atom id="a1" x3="0.1"/>
</atomArray>
</molecule>
<!-- this will delete the previous values -->
<molecule ref="m1" inherit="delete" view="restart">
<atomArray>
<atom id="a1" hydrogenCount=""/>
</atomArray>
</molecule>
</h:pre>
<h:p>
The first <h:tt>molecule/@ref</h:tt> adds complementary information, the second
changes the values. Software is allowed to generate two independent copies of the molecule and reference them by different IDs (<h:tt>m1</h:tt> and <h:tt>m2</h:tt>).
</h:p>
<h:p>This mechanism is necessary to manage the implied inheritance of partial information during minimisations and dynamics. It requires careful software implementation.
</h:p>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
|