diff --git a/versions/1.0.0.md b/versions/1.0.0.md index fa577f6..d35262b 100644 --- a/versions/1.0.0.md +++ b/versions/1.0.0.md @@ -114,8 +114,9 @@ This object represents one or more changes to be applied to the target document | Field Name | Type | Description | | ---- | :----: | ---- | | target | `string` | **REQUIRED** A JSONPath expression selecting nodes in the target document. | +| copy | `string` | A JSONPath expression selecting locations to copy target nodes to in the target document. If the `target` selects an object node, the value of this field MUST be an object with the properties and values to merge with the selected node. If the `target` selects an array, the value of this field MUST be an entry to append to the array. This field has no impact if the `remove` field of this action object is `true` or if the `update` field contains a value. If the `target` selects multiple nodes, the values will be copied sequentially with each node selected by the `copy` expression. | | description | `string` | A description of the action. [[CommonMark]] syntax MAY be used for rich text representation. | -| update | Any | If the `target` selects an object node, the value of this field MUST be an object with the properties and values to merge with the selected node. If the `target` selects an array, the value of this field MUST be an entry to append to the array. This field has no impact if the `remove` field of this action object is `true`. | +| update | Any | If the `target` selects an object node, the value of this field MUST be an object with the properties and values to merge with the selected node. If the `target` selects an array, the value of this field MUST be an entry to append to the array. This field has no impact if the `remove` field of this action object is `true` or if the `copy` field contains a value. | | remove | `boolean` | A boolean value that indicates that the target object or array MUST be removed from the the map or array it is contained in. The default value is `false`. | The result of the `target` JSONPath expression MUST be zero or more objects or arrays (not primitive types or `null` values). @@ -126,6 +127,8 @@ Primitive-valued items of an array cannot be replaced or removed individually, o The properties of the `update` object MUST be compatible with the target object referenced by the JSONPath key. When the Overlay document is applied, the properties in the `update` object are recursively merged with the properties in the target object with the same names; new properties are added to the target object. +The properties of the resolved `copy` object MUST be compatible with the target object referenced by the JSONPath key. When the Overlay document is applied, the properties in the resolved `copy` object are recursively merged with the properties in the target object with the same names; new properties are added to the target object. + This object MAY be extended with [Specification Extensions](#specification-extensions). ### Examples