Extended service contracts: newOrModified
- Last Updated: July 16, 2025
- 2 minute read
- Corticon
- Version 6.3
- Documentation
Corticon service
contract structures may be extended with an optional newOrModified attribute that indicates which parts of the payload have
been changed by the Corticon Server during
execution.
<xsd:attribute name=“newOrModified” type=“xsd:boolean” use=“optional” />
</xsd:complexType>
Any attribute (the Vocabulary attribute) whose value was changed by
the Corticon Server during rule execution
will have the newOrModified attribute set to
true. Also,
In FLAT messages, the newOrModified
attribute of an entity is true if:
- Any contained attribute is modified.
- Any association to that entity is added or removed.
In HIER messages, the newOrModified
attribute of an entity is true if the entity, or any of its associated entities:
- Any contained attribute is modified.
- Any association to that entity is added or removed.
This attribute (XML attribute, not Vocabulary attribute) is enabled
and disabled by the enableNewOrModified property in
your brms.properties file.
In order to make use of the newOrModified attribute, your consuming application must be able to
correctly parse the response message. Because this attribute adds additional
complexity to the service contract and its resultant request and response messages,
be sure your SOAP integration toolset can handle the increased complexity before
enabling it.
Extended datatypes when newOrModfied
If the newOrModified attribute is
enabled, then the base XML datatypes must be extended to accommodate it. The
following complexTypes are included in service
contracts that make use of the newOrModified
attribute.
ExtBooleanType
<xsd:complexType name=“ExtBooleanType”>
<xsd:simpleContent>
<xsd:extension base=“xsd:boolean”>
<xsd:attribute name=“newOrModified” type=“xsd:boolean”
use=“optional” />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
ExtStringType
<xsd:complexType name=“ExtStringType”>
<xsd:simpleContent>
<xsd:extension base=“xsd:string”>
<xsd:attribute name=“newOrModified” type=“xsd:boolean”
use=“optional” />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
ExtDateTimeType
<xsd:complexType name=“ExtDateTimeType”>
<xsd:simpleContent>
<xsd:extension base=“xsd:dateTime”>
<xsd:attribute name=“newOrModified” type=“xsd:boolean”
use=“optional” />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
ExtIntegerType
<xsd:complexType name=“ExtIntegerType”>
<xsd:simpleContent>
<xsd:extension base=“xsd:integer”>
<xsd:attribute name=“newOrModified”"type=“xsd:boolean”
use=“optional” />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
ExtDecimalType
<xsd:complexType name=“ExtDecimalType”>
<xsd:simpleContent>
<xsd:extension base=“xsd:decimal”>
<xsd:attribute name=“newOrModified”
type=“xsd:boolean” use=“optional” />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>