Hi @HariharanB ,
aggregate: lets you copy the definition of an <element> via another schema. This attribute receives a schema declaration in the form of a “namespace:name”.
For example, there are many element in xtk:common schema. If we want to use only auditTrail element in your schema, you can use aggregate, like
<element aggregate="xtk:common:auditTrail" name="auditTrail"/>
xtk:common
<element name="auditTrail">
<element defOnDuplicate="true" name="createdBy" template="xtk:common:createdBy"/>
<element defOnDuplicate="true" name="modifiedBy" template="xtk:common:modifiedBy"/>
<attribute defOnDuplicate="true" default="GetDate()" desc="Creation date" label="Creation date"
name="created" type="datetime"/>
<attribute defOnDuplicate="true" default="GetDate()" desc="Modification date"
label="Last modified" name="lastModified" pkgStatus="always" type="datetime"/>
</element>
template: this attribute defines a reference to an <element> element shared by several schemas. The definition is automatically copied into the current schema.
For Example, You can check broadLogRcp schema, which use template nms:broadLog. This will take all elements, attributes, enumerations, links etc which are created in nms:broadLog and create the same in nms:broadLogRcp
<element name="broadLogRcp" template="nms:broadLog">