통과 템플릿 데이터 형식
*DataType: PASSTHROUGH 는 처리되지 않은 데이터 형식을 나타내는 템플릿을 정의합니다. GDL 값을 구성하는 문자는 GDL 특성을 나타내는 XML 요소의 요소 콘텐츠로 삽입됩니다.
다음 지시문은 PASSTHROUGH 데이터 형식을 정의하는 템플릿 내에서 인식됩니다.
- *ArrayLabel. 이 지시문을 지정하면 파서 필터는 값이 괄호로 묶이고 그 앞에 지정된 배열 레이블이 와야 합니다. 이 지시문은 선택 사항입니다.
값의 구문은 문자 데이터, 자식 요소 등을 포함할 수 있는 XML 요소 콘텐츠에 대해 정의된 구문을 따라야 합니다. 또한 GDL 파서는 여는 대괄호 또는 닫는 대괄호 또는 앰퍼샌드(<>&)와 같은 특수 XML 문자를 이스케이프하지 않습니다. 값 작성자는 요소 콘텐츠에 대한 XML 구문 값을 준수해야 합니다.
XML 구문이 기본 GDL 구문 규칙과 충돌하는 경우 Begin/EndValue:> 구문 내에서 <전체 값(또는 충돌하는 부분만)을 묶어야 합니다. 호환되지 않는 구문이 있거나 복합 데이터 형식에서 사용하는 구문과 호환되지 않는 XML 값은 복합 데이터 형식의 멤버로 표시될 수 없지만 GDL 특성의 값으로 직접 표시되어야 합니다.
예를 들어 다음 예제 템플릿을 고려해 보세요.
*Template: ELEMENT_CONTENT
{
*Type: DATATYPE
*DataType: PASSTHROUGH
}
이전 템플릿을 사용하면 파서 필터가 PASSTHROUGH 데이터에 대한 XSD 스키마 데이터 형식 선언을 만들지 않습니다.
다음 GDL 항목을 고려합니다.
*InLineXML: <BeginValue:XML>
<Cell CellOrdinal="0">
<Value xsi:type="xsd:double">16890</Value>
<FmtValue>16,890.00</FmtValue>
<FormatString>Standard</FormatString>
</Cell>
<EndValue:XML>
이전 예제 템플릿을 사용하여 이전 항목을 해석하는 경우 다음 XML 출력이 발생합니다.
<GDL_ATTRIBUTE Name="*InLineXML" >
<Cell CellOrdinal="0">
<Value xsi:type="xsd:double">16890</Value>
<FmtValue>16,890.00</FmtValue>
<FormatString>Standard</FormatString>
</Cell>
</GDL_ATTRIBUTE>
XML 스키마를 사용하여 PASSTHROUGH 인스턴스의 유효성을 검사하려면 XSD_DEFINED 데이터 형식 을 사용하면 XSD 스키마가 템플릿에서 명시적으로 정의되고 파서가 스키마 출력에 통합되므로 PASSTHROUGH 대신 XSD_DEFINED 데이터 형식을 사용해야 합니다.