Click or drag to resize

OrchestratorConfigXmlJsonIntakeSettings Property

A string containing comma-separated parameters for parsing XML or JSON or UnboundJSON data on intake. Each such parameter is a key-value pair with a pipe symbol (|) separating the key and the value. The parameters reflect the shape of data to parse and define the elements to be extracted. There are some differences (explained below) in their interpretation in case of XML vs JSON vs UnboundJSON. The following keys can be used:
  • CollectionNode - "xpath" to the collection of clusters (or records if the ClusterNode parameter is absent). If this parameter is absent for XML, then intake is expected to contain XML fragment where each root constitutes a record or a cluster. In case of JSON, absent or empty value generally means an array instead of an object. Ignored in case of UnboundJSON.
  • ClusterNode - "xpath" to the cluster node within the collection node. Records within a cluster node will be assigned the same cluster number (sequential). If this parameter is absent, then all records will be assigned a cluster number of 0 (undetermined) and the clusters will be determined solely by the ClusterMarker function. Ignored in case of UnboundJSON.
  • RecordNode - "xpath" to the record node within the cluster node (or the collection node if the cluster node is empty). The RecordNode parameter cannot be absent, although in case of JSON, it can be empty. Ignored in case of UnboundJSON.
  • IncludeExplicitText - XML only, ignored in case of JSON or UnboundJSON. true to include explicit text inside record nodes in XML data; false (default) to ignore explicit text. Explicit text is the text contained directly inside an XML element that represents the record node; this is not typically expected. Data Conveyer assigns a special key of "__explicitText__" to explicit text in the record node.
  • IncludeAttributes - XML only, ignored in case of JSON or UnboundJSON. true to include attributes (the key of the corresponding item will be prefixed by @); truePlain to include attributes (without prefix in item key); false (default) to ignore explicit text. It is generally recommended that the keys (names) of items that originate from XML attributes be prepended with @; therefore setting of true is preferred over truePlain. In the latter case, name conflicts are possible between items originating from attributes and inner nodes.
  • AddClusterDataToTraceBin - XML only, ignored in case of JSON or UnboundJSON. Also ignored if ClusterNode value is absent. true to include attributes of the cluster node(s) as key value pairs in the trace bins attached to the records of the cluster. false to exclude cluster data from intake processing. The keys of the elements placed in the trace bin reflect nodes traversed to reach the cluster node (including the attribute node itself) separated by periods. For example, if ClusterNode value is Region/State and the actual nodes contain <Region name="East"><State abbrev="NJ">..., then there will be 2 elements placed in the trace bin with keys of Region.name and Region.State.abbrev and the corresponding values of East and NJ.
  • DetectClusters - UnboundJSON only, ignored in case of XML or JSON. If present, Data Conveyer will recognize clusters on intake by tracking nesting levels of JSON objects (intake records). In case the level is not the same as on previous record, a new cluster is detected. If absent, array nesting of JSON objects is ignored and records remain unclustered (although clusters can still be assigned via the ClusterMarker function).
Note Note

"xpath" in any of the node parameters is a simplified version of the xpath syntax. It is always relative to the containing node (no need for ./).

In case of JSON, it contains names of nodes (nested in the node hierarchy) separated by /. Empty nodes are allowed, in which case the intake is expected to contain an array at a given hierarchy level.

In case of XML, each node can contain attributes. For example, "xpath" of "Department[@name=\"QA\"]/Employees" can be used to identify employees of the QA department. Empty nodes are not allowed and the // syntax is not supported.

Example 1:"CollectionNode|Members,RecordNode|Member"(XML or JSON)

Example 2:"CollectionNode|Root/Members,ClusterNode|Group/FamilyRecordNode|Member"(XML or JSON)

Example 3:"RecordNode|row"(XML fragment or JSON object with an array)

Example 4:"CollectionNode|,RecordNode|"(JSON only - an array of objects=records)

Example 5:"ClusterNode|,RecordNode|"(JSON only - an array of arrays=clusters of objects=records)

Example 6:"RecordNode|"(JSON only - multiple objects containing records)

Example 7:"CollectionNode|Root/Members[@region=\"North\"],ClusterNode|Group[@id=2][@zone=\"\"]/Family,RecordNode|Data/Member[@class],IncludeExplicitText|true"(XML only)

Example 8:"DetectClusters"(UnboundJSON only)

This configuration setting is only applicable when InputDataKind value is XML or JSON or UnboundJSON.

Namespace:  Mavidian.DataConveyer.Orchestrators
Assembly:  DataConveyer (in DataConveyer.dll) Version: 3.4.6+1324144ff7
Syntax
public string XmlJsonIntakeSettings { get; set; }

Property Value

Type: String
See Also