그룹 작성 및 그룹 컨텐츠 유효성 검사와 같은 논리적 모델 등록 정보와 TDS 분리 간에는 몇 가지 제한이 있습니다. 이 옵션을 제어하는 규칙이 복합 유형 중첩 제한사항에 설명되어 있습니다.
이 규칙은 메시지의 무결성을 보장합니다. 분리 유형 및 그룹 작성 또는 그룹 컨텐츠 유효성 검사의 결합이 TDS 구문 분석기에 명확하지 않은 메시지를 가져와서는 안됩니다.
TDS에서 디폴트 값은 고정 길이 요소로만 관측됩니다.
분리 유형 | 디폴트 값 사용 |
---|---|
태그 디리미트 |
디폴트 값이 관측되지 않습니다. |
고정 길이 |
디폴트 값이 모든 요소의 출력에서 관측됩니다. 정의된 디폴트 값이 없는 누락된 요소는 기록 시 오류를 일으킵니다. |
가변 길이 요소 디리미트 | 디폴트 값은 고정 길이 요소로만 관측됩니다. 누락된 고정 길이 값에는 사용할 수 있는 디폴트 값이 있어야 합니다. 정의된 디폴트 값이 없는 누락된 요소는 기록 시 오류를 일으킵니다. |
목록 및 결합은 XML 특정 개념입니다. 메시지 세트에 TDS 물리적 형식이 존재하는 경우 목록 또는 결합 단순 유형의 요소나 속성으로 인해 작업 목록 경고가 발생합니다. 사용자는 유효성 검증 환경 설정을 편집하여 이를 오류, 경고 또는 정보 중 어떤 것으로 만들 것인지 선택할 수 있습니다. 메시지 세트로부터 사전이 생성되고 해당 요소 또는 속성을 포함하도록 정의된 TDS 메시지의 구문 분석을 시도할 경우 런타임 오류가 발생합니다.
최소 발생 및 최대 발생 논리 등록 정보는 한 메시지에서 허용되는 요소 또는 그룹의 발생 수를 지정합니다. 이는 메시지를 구문 분석 및 기록하고 메시지 컨텐츠의 유효성을 검증할 때 사용됩니다.
구문 분석 및 기록 시, 다음 표에 표시된 상위 복합 유형 또는 그룹의 데이터 요소 분리 등록 정보에 따라 이 등록 정보를 올바르게 해석할 수 있습니다.
유효성 검증 시, 최소 발생 및 최대 발생 모두가 사용되어 메시지 트리의 컨텐츠가 모델과 일치하는지 점검됩니다.
분리 유형 | 최소 발생 및 최대 발생의 해석 |
---|---|
태그 디리미트 |
구문 분석 및 기록 시 최소 발생 및 최대 발생이 효과적으로 무시됩니다. 구문 분석 시, 발생 수가
메시지의 태그에 의해 식별됩니다. 기록 시, 쓰기 프로그램이 메시지 트리로 모든 발생 수를 출력합니다.
|
모든 요소 디리미트 | 최대 발생은 요소의 반복 요소 디리미터 등록 정보 및 상위 유형의
누락 요소 디리미터 표시 안함 등록 정보와
함께 구문 분석 및 기록 시에만 사용됩니다. 누락된 요소 디리미터 표시 안함이 유형 끝에 설정된 경우 여러 발생 수(최소 발생 <> 최대 발생)가 허용됩니다.
누락된 요소 디리미터가 수행하지 않음인 경우 모든 발생이 구문 분석 시에 예상되고 구문 분석에서 요소가 없는 것으로 승인하더라도 기록 시에 출력됩니다. 선택적 발생(최소 발생 = 0)이 무시되며 디리미터가 구문 분석 시에 여전히 예상되고 기록 시에 출력됩니다. 항상 없을 수 있습니다(최대 발생 = 0). 디리미터가 구문 분석 시 예상되지 않거나 기록 시에 출력되지 않습니다. 반복 요소 디리미터가 디리미터와 여전히 다를 경우에만 바운드되지 않은 발생 수(최대 발생 = -1)가 허용됩니다. 반복이 디리미터, 컨테이닝 그룹의 그룹 종결자, 디리미터 또는 메시지 비트스트림의 끝에 의해 종결되어야 합니다. 기록 시, 쓰기 프로그램이 메시지 트리로 모든 발생 수를 출력합니다. |
고정 길이 |
구문 분석 및 기록 시에만 최대 발생이
사용됩니다. 일반적으로 최대 발생이 구문 분석 시에
예상되며 누락 요소에 사용하는 디폴트 값으로 기록될 때 최대 발생이 출력됩니다. 여러 발생 수(최소 발생 <> 최대 발생)가 무시되며 최대 발생이 가정됩니다. 선택적 발생 수(최소 발생 = 0)가 무시되며 최대 발생이 가정됩니다. 항상 없을 수 있습니다(최대 발생 = 0). 고정 길이만 해당. 요소 또는 그룹이 상위 그룹에서 마지막 하위 위치에 있고 그룹이 그룹 종결자, 컨테이닝 그룹의 그룹 종결자, 디리미터 또는 메시지 비트스트림의 끝에 의해 종결될 경우 바운드되지 않은 발생 수(최대 발생 = -1)가 허용됩니다. 기록 시, 쓰기 프로그램이 메시지 트리로 모든 발생 수를 출력하며 이 수가 최소 발생보다 작은 경우 추가 디폴트 값이 기록됩니다. |
가변 길이 요소 디리미트 | 고정 길이 단순 요소의 경우 위의 고정 길이 분리 규칙을 따르며 다음과 같은 두 가지 차이점이 있습니다.
가변 길이 단순 요소, 모든 복합 요소 및 그룹의 경우 위의 모든 요소 디리미트 규칙을 따릅니다. |
데이터 패턴 | 구문 분석 및 기록 시 최소 발생 및 최대 발생이 효과적으로 무시됩니다. 구문 분석 시, 패턴이 가능한 많이
일치될 수 있습니다.
기록 시, 쓰기 프로그램이 메시지 트리로 모든 발생 수를 출력합니다. 구문 분석 시, 데이터
패턴에서 0 길이 일치를 허용되고 0 길이 일치가 발생할 경우 요소가 메시지 트리에 추가되고 무한대 루프가
없도록 일치가 종결된다는 점에 유의하십시오. 여러 발생 수(최소 발생 <> 최대 발생)가 허용됩니다. 선택적 발생(최소 발생 = 0)이 허용됩니다. 항상 없을 수 있습니다(최대 발생 = 0). 바운드되지 않은 발생 수(최대 발생 = -1)가 허용됩니다. |