When the configuration path contains two XML files of the same name, matching tags are combined according to the xml-attribute
specified by the tag in the second (last-read) XML file (see the next section, Controlling Tag Combination). If this attribute is omitted, the following combination rules are followed:
If one of the combined tags contains only a PCDATA section—that is, a text block without embedded tags—the first file’s tag is discarded and the tag content of the second file is used (equivalent to
xml-combine
=replace
).In all other cases, the contents of the tag in the second file are appended to the contents of tag in the first file (equivalent to
xml-combine
=append
).
Given these rules, you can combine most XML files without explicitly setting the xml-combine
attribute, reserving its use for special situations.
The values of XML elements can be set in the DTD. If an XML element has a default setting specified in the DTD, that default setting is applied in any XML file that does not explicitly set the element. For example, the SQL Repository DTD specifies the expert
attribute of the property
element as follows:
expert %flag; "false"
If your base SQL repository definition file sets the expert
attribute of a property to true
, and if supplemental SQL repository definition files modify that property, you must also explicitly set the expert
attribute of a property to true
in the supplemental SQL repository definition files; otherwise the attribute’s value reverts to the default specified in the DTD.