anchor.diff:        "description": "Order Management example from RTGov",
         "filter": {
           "inclusions": [  // <2>
  -          "^https?://.*/demo-orders/OrderService$",
  -          "\\{urn:switchyard-quickstart-demo:orders:0.1.0\\}OrderService"
  +          "^/demo-orders/OrderService$"
           ]
         },
         "processors": [{  // <3>
  -        "nodeType": "Service",  // <4>
  -        "request": "true",  // <5>
  -        "uriFilter": "^\\{urn:switchyard-quickstart-demo:orders:0.1.0\\}OrderService$",  // <6>
  -        "operation": "submitOrder",  // <7>
  -        "actions": [{  // <8>
  -          "actionType": "AddContent",
  +        "nodeType": "Consumer",  // <4>
  +        "direction": "In",  // <5>
  +        "uriFilter": "^/demo-orders/OrderService$",  // <6>
  +        "actions": [{  // <7>
             "name": "all",
             "type": "{urn:switchyard-quickstart-demo:orders:1.0}submitOrder",
  -          "expression": "XMLHelper.serialize(values[0])"
  +          "actionType": "AddContent",
  +          "expression": "XMLHelper.serialize(XMLHelper.selectNode(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']\", values[0]))"
           },{
             "actionType": "AddCorrelationId",
  -          "scope": "Global",  // <14>
  -          "expression": "XMLHelper.evaluate(\"order/orderId/text()\", values[0])"
  -        },{
  +          "scope": "Global",
  +          "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']/order/orderId/text()\", values[0])"
  +        },{
  +          "name": "customer",
             "actionType": "SetProperty",
  -          "name": "customer",
  -          "expression": "XMLHelper.evaluate(\"order/customer/text()\", values[0])"
  -        },{
  +          "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']/order/customer/text()\", values[0])"
  +        },{
  +          "name": "item",
             "actionType": "SetProperty",
  -          "name": "item",
  -          "expression": "XMLHelper.evaluate(\"order/itemId/text()\", values[0])"
  +          "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']/order/itemId/text()\", values[0])"
           }]
         },{
  -        "nodeType": "Service",
  -        "request": "false",
  -        "uriFilter": "^\\{urn:switchyard-quickstart-demo:orders:0.1.0\\}OrderService$",
  -        "operation": "submitOrder",
  +        "nodeType": "Consumer",
  +        "direction": "Out",
  +        "uriFilter": "^/demo-orders/OrderService$",
           "actions": [{
  -          "actionType": "SetProperty",
  -          "name": "total",
  -          "expression": "values[0].total"
  +          "name": "all",
  +          "type": "{urn:switchyard-quickstart-demo:orders:1.0}submitOrderResponse",
  +          "actionType": "AddContent",
  +          "expression": "XMLHelper.serialize(XMLHelper.selectNode(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrderResponse']\", values[0]))"
  +        }]
  +      },{
  +        "nodeType": "Consumer",
  +        "direction": "Out",
  +        "uriFilter": "^/demo-orders/OrderService$",
  +        "predicate": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'Fault']\", values[0]) != null",  // <8>
  +        "actions": [{
  +          "actionType": "SetFault",
  +          "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'Fault']/faultcode/text()\", values[0])"
  +        },{
  +          "actionType": "SetFaultDescription",
  +          "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'Fault']/faultstring/text()\", values[0])"
           }]
         }]
       }
  -  },
  -  "properties": {  // <9>
  -    "hawkular-btm.collector.onlynamed": "true"
     }
   }
   ----
   <1> Each business transaction configuration must be given an unique name
   <2> Inclusion filters define a regex expression used to match a URI in the captured information. If an inclusion filter matches, then the associated business transaction name will be added to the data reported to the server
   <3> A list of information processors. Each entry in the list will define the criteria for matching against nodes in the business transaction fragment
  -<4> The 'nodeType' can identify one of the support node types, e.g. Consumer, Producer, Component or Service
  -<5> The 'request' boolean field determines whether the request or response direction should be processed
  +<4> The 'nodeType' can identify one of the support node types, e.g. Consumer, Producer or Component
  +<5> The 'direction' field determines whether the *In* (i.e. request) or *Out* (i.e. response) direction should be processed
   <6> The regex expression used to match against an URI of interest
  -<7> The optional operation name, only relevant for 'Service' node types
  -<8> A list of actions to be performed by the processor, if the matching criteria are satisfied. The list of supported action types, and their relevant fields, are described below
  -<9> A map of property name and values. These are merged with properties defined in other json files, so in general it is recommended to place all relevant properties into a single json file
  -
  +<7> A list of actions to be performed by the processor, if the matching criteria are satisfied. Each action can have an optional predicate expression to determine if it should be applied. The list of supported action types, and their relevant fields, are described below.
  +<8> An optional predicate expression can be defined at the processor level, to guard against applying the actions it contains.
   
   .Actions
   |===
  
positive.code: 
  |String evaluate(String xpath, Object node) |This method applies an XPath expression to the XML document/fragment supplied in the following formats:  _String_, _javax.xml.transform.dom.DOMSource_ and _org.w3c.dom.Node_.
  
  |String serialize(Object node) |This method attempts to serialize the supplied node as a textual representation of an XML document. The supported input formats are: _String_, _javax.xml.transform.dom.DOMSource_ and _org.w3c.dom.Node_.
  
  |===
  
  
  
  
  
negative.code: 
  |SetFault |Define a fault value. The '*_expression_*' field is the MVEL expression used to extract the fault name
  
  |SetFaultDescription |Define a fault description value. The '*_expression_*' field is the MVEL expression used to extract the fault description
  
  |SetProperty |Extract a named business property. The '*_name_*' field names the business property, and '*_expression_*' defines the MVEL expression used to extract the value
  
  |===
  