XSD

2013-11-14 2 views
0
내가 gSOAP와 XML 검증에 관한 다음과 같은 문제에 직면하고있어

에 대해 XML의 유효성을 검사 gSOAP을 사용하는 방법 : XSD

내가 그 헤더 파일에서 C 소스를 생성하기 위해 내 XSD 및 soapcpp2에서 헤더 파일을 생성 wsdl2h를 사용을 . 내 프로그램에서 생성 된 소스를 사용하여 XML 파일을 작성할 수 있습니다.

생성 후/생성하는 동안 xsd에 대해 생성 된 XML 파일의 유효성을 검사 할 수있는 방법이 있습니까?

감사합니다, 플로

답변

0

생성 된 XML 구조는 gsoap 금형 디자인으로 XSD에 (데이터 바인딩 및 직렬화)에 따라 유효합니다,하지만 당신은 요소에 특정 XSD 요구 사항을주의해야 할 몇 가지 경우가 있습니다 및 속성 발생 제한. 생성 된 .h 파일에 포함되며 구조 정보/클래스 멤버와 최소/최대 범위 정보로 연결됩니다. 따라서이 경우 wsdl2h 생성 .h 파일에서 문서화 된 발생 제한 (minOccurs, maxOccurs 등)을 찾아서 XML 직렬화를위한 C/C++ 데이터를 채우는 방법을 결정하십시오. 거의 모든 것이 유형 매핑 알고리즘에 의해 자동화됩니다.

+0

내 .xsd에서 생성 된 .h 파일에는 [gSOAP User Guide : Chap. 17 XML Validation] (http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc17). soapcpp2와 플래그 -s와 -c를 사용하고'soap_set_imode (& soap, SOAP_XML_STRICT); ' 내 코드에서는 SOAP 오류가 발생하지 않고 .xsd (예 : 의도적으로 발생하는 제약 조건 위반)에 맞지 않는 xml 파일을 생성 할 수 있습니다. [Chap.에 언급 된 오류 코드 중 하나가 나타나지 않아야합니다. 10.2 오류 코드] (http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc10.2)? – Flo