TDS 메시지의 데이터 요소는 복합(complex) 유형의 데이터 요소 분리 등록 정보에 지정해야 하는 데이터 요소 분리 메소드에 따라 식별됩니다. 데이터 요소 분리에 설정한 값에 따라, 태그 데이터 분리 문자 및 디리미터 등록 정보(메시지 세트 및 복합(complex) 유형용)는 각 요소를 식별하는 데 필요할 수도 있습니다.
각 복합 유형(complex type)에 대해 지정할 수 있는 메소드가 다음에 설명되어 있습니다. 제공된 예는 모두 유형이 STRING인 세 개의 요소를 포함하는 복합 유형(complex type)을 기반으로 합니다. 사용되는 태그 데이터 분리 문자는 콜론(:)이며 사용되는 디리미터는 별표(*)입니다.
다음 예에서는 고정 길이의 태그를 보여줍니다.
tag1data1*tag2data2*tag3data3
다음 예에서는 가변 길이의 태그를 보여줍니다.
tag1:data1*tag11:data2*tag111:data3
다음 예에서는 고정 길이의 태그를 보여줍니다.
tag1data1tag2data2tag3data3
다음 예에서는 가변 길이의 태그를 보여줍니다.
tag1:data1tag11:data2tag111:data3
다음 예는 4자의 고정 길이 태그(태그 길이가 4로 설정되었음), 3자의 길이 필드(인코딩된 길이의 길이가 3으로 설정되었음) 및 여러 문자의 데이터를 보여줍니다. 인코딩된 길이의 여분 문자는 0으로 설정되었습니다.
tagA007dataAAAtagB006dataBBtagC009dataCCCCC위의 비트스트림이 제공된 경우, 구문 분석기에서는 "tagA" 태그를 찾아 길이값 7을 추출합니다. 인코딩된 길이의 여분 문자가 0으로 설정되었으므로, 다음 7(7 - 0)자는 데이터입니다. 그런 후 다음 "tagB" 태그를 찾아 길이값 6을 추출하고 그 다음에 "tagC" 태그를 찾는 식입니다. 이 예의 각 경우에서, 길이 필드의 값은 정확하게 데이터의 길이입니다.
다음 예는 4자의 고정 길이 태그(태그 길이가 4로 설정되었음), 3자의 길이 필드(인코딩된 길이의 길이가 3으로 설정되었음) 및 여러 문자의 데이터를 보여줍니다. 인코딩된 길이의 여분 문자는 3으로 설정되었습니다(이 예의 길이 필드 값에는 데이터 필드뿐만 아니라 3자의 길이 필드도 포함되었기 때문).
tagA012dataAAAAAtagB010dataBBBtagC016dataCCCCCCCCC위의 비트스트림이 제공되면, 구문 분석기는 "tagA" 다음에 길이값 12를 추출합니다. 그러나 인코딩된 길이의 여분 문자가 3으로 설정되어 있으므로, 다음 9(12 - 3)자만이 데이터입니다. 그런 후 "tagB" 문자를 찾아 길이값 10을 추출하며, 계속 이러한 작업을 반복합니다. 이 예의 각 경우에서, 길이 필드의 값은 실제 데이터 길이보다 3이 큽니다.
이에 대한 예는 다음과 같습니다.
data1*data2*data3
다음 예에서는 요소 2가 고정 길이이고 요소 1 및 3이 가변 길이임을 보여줍니다.
data1*data2data3
First Data Pattern = [A-Z]{1,3} Second Data Pattern = [0-9]+ Third Data Pattern = [a-z]* Message data = 'DT31758934information for you' First element data: 'DT' Second element data: '31758934' Third element data: 'information'첫 번째 데이터 패턴은 "A-Z 범위의 1-3자", 두 번째는 "0-9 범위의 하나 이상의 문자", 세 번째는 "a-z 범위의 0개 이상의 문자"를 의미합니다. 어떻게 각 요소의 데이터가 요소의 데이터 패턴과 일치하지 않는 첫 문자로 종료되었는지에 유의하십시오.
이에 대한 예는 다음과 같습니다.
data1data2data3
데이터 요소 분리 메소드를 정의되지 않음으로 설정할 경우에는 유형 작성 등록 정보를 비어 있음, 선택, 비정렬 세트, 정렬된 세트, 순서 또는 단순 비정렬 세트로 설정해서는 안됩니다.
메시지로 설정된 유형 작성에 대한 자세한 정보는 멀티 파트 메시지를 참조하십시오.