<h:div class="summary">Inheritance mechanism.</h:div> <h:div class="description"> <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> |
Attribute | inherit/@inherit |
<xsd:simpleType id="st.inheritType" name="inheritType"> <xsd:annotation> <xsd:documentation> <h:div class="summary">Inheritance mechanism.</h:div> <h:div class="description"> <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:restriction base="xsd:string"> <xsd:enumeration value="merge"> <xsd:annotation> <xsd:documentation> <h:div class="summary">Values from this element will be merged.</h:div> <h:div class="description">The merging is element-specific with the intention that information from the current element will not conflict with the existing information. It is an error if there is a conflict.</h:div> </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="replace"> <xsd:annotation> <xsd:documentation> <h:div class="summary">Values from this element will replace existing information.</h:div> <h:div class="description">The merging is element-specific with the intention that information from the current element will replace the existing information.</h:div> </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="delete"> <xsd:annotation> <xsd:documentation> <h:div class="summary">Components of this element will de deleted if they exist.</h:div> </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> |