2014-06-12 3 views
0

FS (파일 구분 기호) 및 GS (그룹 구분 기호) 구분 파일에 대한 네이티브 스키마 NXSD를 만들어야합니다. 아무도 여기 좀 도와 줄래? 나는 하나를 만들 수 없다. 도움을 많이 받으실 수 있습니다. 아래에 스키마가 있습니다. 나는 FS와 GS 구분 기호 둘 다에 대해 값에 의해 종료 될 필요가있다 ... 세미콜론 (;)이나 쉼표 (,)로 끝내면이 XSD가 잘 작동한다. 내가 FS와 GS에 의해네이티브 스키마 (nxsd) : FS 및 GS로 구분 된 파일

<?xml version= '1.0' encoding= 'UTF-8' ?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" 
    xmlns:tns="http://www.oracle.com/ApplicationObjectLibrary/GEMS/GEMSMessage/V1" targetNamespace="http://www.oracle.com/ApplicationObjectLibrary/GEMS/GEMSMessage/V1" 
    elementFormDefault="qualified" attributeFormDefault="unqualified" nxsd:version="NXSD" nxsd:stream="chars" 
    nxsd:encoding="ASCII"> 
    <xsd:element name="GEMSMessage"> 
     <xsd:complexType> 
      <xsd:sequence> 
       <xsd:element name="GEMS" minOccurs="1" maxOccurs="1" nxsd:lookFor="ST"> 
        <xsd:complexType> 
         <xsd:sequence> 
          <xsd:element name="ST" type="xsd:string" 
           minOccurs="0" maxOccurs="1" default="ST" nxsd:style="terminated" 
             nxsd:terminatedBy=";"> --What will be nxsd:terminatedBy value for FS 
          </xsd:element> 
          <xsd:element name="STValue" type="xsd:string" 
           minOccurs="0" maxOccurs="1" nxsd:style="terminated" 
             nxsd:terminatedBy=";"/> -- --What will be nxsd:terminatedBy value for GS 
         </xsd:sequence> 
        </xsd:complexType> 
       </xsd:element> 
      </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

답변

0

하면 ... SOA에서 FT 어댑터를 사용하여 파일의 이러한 종류를 읽을 것이다 당신을 의미하는 문자 X1C 및 x1D (^ \ 및 ^]), 당신은 힘든 시간을 처리를해야합니다 그것들은 모든 XML 기술에서 사용할 수 있습니다. XML 문서에서는 리터럴 문자로 표시 할 수 없습니다 (XML 1.1에서는 숫자 문자 참조를 사용하여 참조 할 수 있음).

XSD (또는 'NXSD'참조를 의미하는 스키마 언어)로 유효성을 검사하기 전에 입력 데이터를 XML 호환 형식으로 변환하는 간단한 shim을 작성하는 것이 가장 좋습니다. XML 기반 도구로 처리하십시오.