통과 템플릿 데이터 형식

*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 데이터 형식을 사용해야 합니다.