2011-01-20 3 views
1

Xerces를 사용하여 인라인 스키마로 XML 파일을 구문 분석 할 수 있습니까? 나는이 일을 할 수있는 모든 방법을 시도해 왔지만 나는 성공할 수 없었다.인라인 XML 스키마 파싱 (Java 용 Xerces)

[오류] :

private XSModel getXSModel(String schema) throws XNIException, IOException{ 
    XMLGrammarPreparser preparser = new XMLGrammarPreparser(); 
    preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null); 
    XSGrammar g = (XSGrammar)preparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,new XMLInputSource(null, null, null,new ByteArrayInputStream(schema.getBytes()), "ISO-8859-1")); 
    return g.toXSModel(); 
} 

오류는 다음과 같다 : 그것은 항상 아래 코드의 마지막 줄에서 예외가 발생합니다 (스키마는 XML과 인라인 스키마를 포함하는 문자열입니다) : 1 : 9586 : S4S-ELT 문자 ...

그 메시지가 속하는 각 줄에 나타납니다 : 및 '문서 XS': 비 공백 문자는 'APPINFO XS'이외의 스키마 요소에 사용할 수 없습니다 XML (스키마 태그 제외)

업데이트

: 여기은 예입니다

<root> 
    <schema xmlns="http://www.w3.org/2001/XMLSchema"> 
     <element name="age" type="integer"/> 
    </schema> 
    <!--HERE THE XML BEGINS--> 
    <age>35</age> 
</root> 
+1

Xerces java or C++? 또한 "인라인 스키마"는 무엇을 의미합니까? 예제를 보여주십시오. – skaffman

답변

0
당신은 같은 일반 XML 파일에서 파일을 읽어보십시오

은, 우리가 XPath 표현식은 다음 스키마 요소를 선택한 후, TRANSFROM 그 입력 스트림에 저장합니다. 그런 다음 해당 입력 스트림에서 파서를 호출하십시오.