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>