MRM TDS 형식: 논리 모델과의 관계
TDS 분리 유형과 논리 모델 특성에는 그룹 컴포지션 및 그룹 컨텐츠 유효성 검증 같은 몇 가지 제한이 있습니다.
이러한 옵션을 제어하는 규칙은 메시지 세트: 복합 유형 중첩에 대한 제한사항에 설명되어 있습니다.
이런 규칙은 메시지의 무결성을 보장하기 위해 존재합니다. 분리 유형 및 그룹 컴포지션 또는 그룹 컨텐츠 유효성 검사의 결합이 TDS 구 문 분석기에 명확하지 않은 메시지를 가져와서는 안됩니다.
기본값
TDS에서 기본값은 고정 길이 요소에 의해서만 관찰됩니다.
| 분리 유형 | 기본값 사용 |
|---|---|
태그 디리미트
태그 고정 길이 태그 인코드 길이 모든 요소 디리미트 데이터 패턴 |
기본값이 관찰되지 않습니다. |
고정 길이
고정 길이 AL3 |
기본값이 모든 요소에 의해 출력에서 관찰됩니다. 기본값이 정의되지 않은 부재 요소는 쓰기 시에 오류를 유발합니다. |
| 가변 길이 요소 구분 | 기본값이 출력 시 고정 길이 요소에 의해서만 관찰됩니다. 존재하지 않는 고정 길이 값은 사용 가능한 기본값이 있어야 합니다. 기본값이 정의되지 않은 부재 요소는 쓰기 시에 오류를 유발합니다. |
단순 유형 - 목록 및 유니온
목록과 유니온은 XML 특정 개념입니다. 목록 또는 유니온인 단순 유형의 요소 또는 속성은 TDS 물리적 형식이 메시지 세트에 존재하는 경우 태스크 목록 경고를 유발합니다. 사용자는 유효성 검증 환경 설정을 편집하여 이를 오류, 경고 또는 정보로 만들 것인지 여부를 선택할 수 있습니다. 사전이 메시지 세트로부터 생성되고 그런 요소나 속성을 포함하도록 정의된 TDS 메시지를 구문 분석하려고 시도하면 런타임 오류가 발생합니다.
Min Occurs 및 Max Occurs
논리 특성인 Min Occurs(최소 발생 수)와 Max Occurs(최대 발생 수)는 메시지에서 요소나 그룹의 허용되는 발생 수를 지정합니다. 메시지를 구문 분석 및 기록하고 메시지 컨텐츠의 유효성을 검증할 때 사용됩니다.
구문 분석하고 쓸 때 이들 특성의 정확한 해석은 다음 표에서 보는 것처럼 상위 복합 유형 또는 그룹의 데이터 요소 구분 특성에 따라 다릅니다.
그러나 발생 수가 메시지에서 이전에 발생하는 정수 요소에 의해 대신 제공됨을 표시하는 TDS 반복 참조 특성이 설정되는 경우 이 작동은 대체됩니다. 자세한 정보는 반복 참조 를 참조하십시오.
유효성 검증 시 Min Occurs 및 Max Occurs가 둘 다 메시지 트리의 컨텐츠가 모델과 일치하는지를 검사하는 데 사용됩니다.
| 분리 유형 | Min Occurs 및 Max Occurs의 해석 |
|---|---|
태그 디리미트
태그 고정 길이 태그 인코드 길이 |
Min Occurs 및 Max Occurs가
구문 분석 및 쓰기 시에 효과적으로 무시됩니다. 구문 분석 시, 발생 수는
메시지의 태그에 의해 식별됩니다. 기록 시, 기록기가 메시지 트리의
모든 발생 수를 출력합니다.
|
| 모든 요소 구분 | Max Occurs는
구문 분석 및 쓰기 시에 요소의 반복 요소 구분 기호
특성 및 상위 유형의 누락된 요소 구분 기호 억제
특성과 함께만 사용됩니다. 누락된 요소 구분 기호 억제가 유형의 끝으로 설정된 경우 다양한 발생 수(Min Occurs <> Max Occurs)가 허용됩니다.
누락된 요소 구분 기호 억제가 없음인 경우, 모든 발생이 구문 분석 시에 예상되고, 구문 분석 개념 요소가 없어도 쓰기 시에 생성됩니다. 선택적 발생(Min Occurs = 0)은 무시되며 구분 기호가 여전히 구문 분석 시에 예상되고 쓰기 시에 생성됩니다. 항상 부재(Max Occurs = 0)가 허용됩니다. 구문 분석 시에 구분 기호가 기대되지 않고 쓰기 시에 출력되지 않습니다. 무제한 발생 수(Max Occurs = -1)는 반복 요소 구분 기호가 구분 기호와 다른 경우에만 허용됩니다. 반복은 구분 기호, 포함하는 그룹의 그룹 종결자나 구분 기호 또는 메시지 비트스트림의 끝에 의해 종료되어야 합니다. 쓰기 시에 기록기가 메시지 트리의 모든 발생을 출력합니다. |
고정 길이
고정 길이 AL3 |
Max Occurs는 구문 분석
및 쓰기 시에만 사용됩니다. 일반적으로, Max Occurs 발생은
구문 분석 시에 예상되고, Max Occurs 발생은
쓰기 시에 생성됩니다. 누락 요소에 대해서는 기본값이 사용되고,
모든 과잉 요소는 제거됩니다. 다양한 발생 횟수(Min Occurs <> Max Occurs)는 무시되고 Max Occurs가 가정됩니다. 선택적 발생(Min Occurs = 0)은 무시되고, Max Occurs를 가정합니다. 항상 부재(Max Occurs = 0)가 허용됩니다. 고정 길이만 해당됩니다. 무제한 발생 수(Max Occurs = -1)는 요소 또는 그룹이 상위 그룹의 마지막 하위이고 그룹이 그룹 종결자나 포함 그룹의 그룹 종결자 또는 구분 기호 또는 메시지 비트스트림의 끝에 의해 종료되는 경우에 허용됩니다. 쓰기 시에 기록기가 메시지 트리의 모든 발생을 출력하고, 이 숫자가 Min Occurs보다 작으면 추가 기본값이 기록됩니다. |
| 가변 길이 요소 구분 | 고정 길이 단순 요소의 경우 위의
고정 길이 분리에 대한 규칙을 따르며
다음과 같은 두 가지 차이점이 있습니다.
가변 길이 단순 요소, 모든 복합 요소 및 그룹의 경우 위의 모든 요소 구분에 대한 규칙을 따릅니다. |
| 데이터 패턴 | Min Occurs 및 Max Occurs가
구문 분석 및 쓰기 시에 효과적으로 무시됩니다. 구문 분석 시, 패턴이 가능한 많이
일치될 수 있습니다. 기록 시, 기록기가 메시지 트리의
모든 발생 수를 출력합니다. 구문 분석 시에 데이터 패턴이 0의 길이
일치를 허용하고 0의 길이 일치가 발생하는 경우 요소가
메시지 트리에 추가되고 무한 루프를 방지하기 위해 일치가
종료됨을 유의하십시오. 다양한 발생 횟수(최소 발생 <> 최대 발생)가 허용됩니다. 선택적 발생(Min Occurs = 0)이 허용됩니다. 항상 부재(Max Occurs = 0)가 허용됩니다. 무제한 발생 수(Max Occurs = -1)가 허용됩니다. |
반복 참조
TDS 특성인 반복 참조는 메시지 내에서 오브젝트(요소 또는 그룹)의 반복 횟수를 보유하는 필드를 지정합니다. 반복 횟수를 보유하는 필드는 그것이 참조하는 오브젝트 앞의 메시지 안에 있어야 합니다.
구문 분석 관점에서, 반복 참조 특성이 minOccurs 및 maxOccurs 특성의 역할을 대신합니다.
반복 참조 특성의 값이 오브젝트에 대해 지정된 경우, minOccurs 및 maxOccurs에 대해 지정된 값은 구문 분석 및 쓰기 시에 무시됩니다. 그러나 minOccurs 및 maxOccurs에 지정된 값은 논리 유효성 검증에 사용됩니다.
구문 분석 및 쓰기 시에 반복 참조 특성의 정확한 해석인 다음 표에서 보는 것처럼 상위 복합 유형 또는 그룹의 데이터 요소 구분 특성에 따라 다릅니다.
| 분리 유형 | 반복 참조의 해석 |
|---|---|
태그 디리미트
태그 고정 길이 태그 인코드 길이 |
반복 참조가 구문 분석 및 쓰기 시에 효과적으로 무시됩니다. 구문 분석 시, 발생 수는 메시지의 태그에 의해 식별됩니다. 기록 시, 기록기가 메시지 트리의 모든 발생 수를 출력합니다. |
| 모든 요소 구분 | 반복 참조는
구문 분석 및 쓰기 시에 요소의 반복 요소 구분 기호
특성 및 상위 유형의 누락된 요소 구분 기호 억제
특성과 함께 사용됩니다. 반복 참조는 상위 복합 유형이나 그룹에서 누락된 요소 구분 기호 억제가 없음으로 설정된 경우에만 허용됩니다. 모든 반복 참조 발생은 구문 분석 시에 예상되고 쓰기 시에 생성됩니다. 그러나 구문 분석은 요소 부재를 허용합니다. Repeat reference = 0이 허용됩니다. 구문 분석 시에 구분 기호가 예상되지 않고, 쓰기 시에 생성되지 않습니다. |
고정 길이
고정 길이 AL3 |
반복 참조가 구문 분석
및 쓰기 시에 사용됩니다. 반복 참조
발생이 구문 분석 시에 예상되고, 쓰기 시에 누락 요소에
사용되는 기본값과 함께 생성됩니다. Repeat reference = 0이 허용됩니다. |
| 가변 길이 요소 구분 | 고정 길이 단순 요소의 경우
위의 고정 길이 분리에 대한 규칙을
따릅니다. 가변 길이 단순 요소, 모든 복합(complex) 요소 및 그룹의 경우, 위에 나열되는 모든 요소 구분에 대한 규칙을 따릅니다. |
| 데이터 패턴 | 반복 참조가 구문 분석 및 쓰기 시에 효과적으로 무시됩니다. 구문 분석 시, 패턴이 가능한 많이 일치될 수 있습니다. 기록 시, 기록기가 메시지 트리의 모든 발생 수를 출력합니다. 구문 분석 시에 데이터 패턴이 0의 길이 일치를 허용하고 0의 길이 일치가 발생하는 경우 요소가 메시지 트리에 추가되고 무한 루프를 방지하기 위해 일치가 종료됨을 유의하십시오. |