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.