---
title: IEdiCompositeDataElement
summary: API reference for IEdiCompositeDataElement.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-15
library: SAIF.Framework.Common.Files
reference_type: package
---

# IEdiCompositeDataElement

`IEdiCompositeDataElement` is the contract implemented by `EdiCompositeDataElement`; it extends `IEdiDataElement` with the additional surface needed to expose and query a composite element's child sub-elements ([BR-019](../../business-rules.md#br-019-colon-containing-elements-become-composite-elements)).

## Purpose
- Declares `HasChildren`, `DataElements`, `GetElement`, and `GetChildValue` as the contract any composite data element implementation must provide for child-element access.

## Context
- Namespace: `SAIF.Common.Files.Edi`
- Assembly/package: `SAIF.Framework.Common.Files`
- Extends: `IEdiDataElement`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| HasChildren | `bool HasChildren { get; }` | `true` if this composite currently has one or more parsed child data elements. |
| DataElements | `IEnumerable<IEdiDataElement> DataElements { get; }` | The ordered collection of child sub-elements that make up this composite's value. |
| GetElement | `IEdiDataElement GetElement(int index)` | Returns the child sub-element at ordinal `index`, or `null` if no child occupies that position. |
| GetChildValue | `string GetChildValue(int elementIndex)` | Returns the raw text value of the child sub-element at `elementIndex`, or `string.Empty` if no such child exists. |

## Inherited public members

Members in this section are inherited from `IEdiDataElement` (and, transitively, `IEdiElement`) in `SAIF.Framework.Common.Files`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Index | `int Index { get; set; }` | The composite element's ordinal position within its parent segment. | `SAIF.Framework.Common.Files` — `IEdiElement` |
| Value | `string Value { get; set; }` | The composite's overall colon-joined raw text value. | `SAIF.Framework.Common.Files` — `IEdiElement` |
| Type | `ElementType Type { get; }` | Identifies the concrete element kind (`ElementType.CompositeDataElement` for conforming implementations). | `SAIF.Framework.Common.Files` — `IEdiElement` |

## Sources
- Common\SAIF.Common.Files\Edi\IEdiCompositeDataElement.cs
