2010-06-10 8 views
0

전체 노드가 아닌 특정 노드에 대한 유효성 검사를 요청합니다. 예를 들어 C++에서 XSD에 대해 XML 노드의 유효성을 검증하는 방법은 무엇입니까?

이 XML 문서에 대한
<somexmldoc> 
    <someNode> 
     <UserDefinedNode> </> 
     <UserDefinedNode> </> 
    </someNode> 
</somexmldoc> 

, 나는 (이 노드가 수 XSD에서 "모든"태그로 지정 "UserDefinedNode"를 제외하고 전체 문서의 유효성을 검사하는 데 사용할 수있는 wholeDoc.XSD이 사용자가 해당 노드 아래에 아무 것도 정의 할 수 없습니다).

"UserDefinedNode"의 유효성을 검사하기 위해 별도의 userdefined.XSD 파일을 가질 수 있습니까? MSXML for C++ (IXMLDomDocument)를 사용하여 이것을 검증 할 수 있습니까?

감사합니다.

답변

0

가능해야합니다. 라는 문서를 발견했습니다. Visual C# .NET의 XML 스키마에 대해 XML 조각의 유효성을 검사하는 방법 (see here)입니다. 그것은 C#입니다. 그러나 이것을 번역 할 수 있어야합니다 :-)

1

XSD는 전체 DOM 문서에 적용되지만 DOM 조각에는 적용되지 않습니다. 그러나 조각이 유효한 XML이기 때문에 다른 DOM 객체에 루트로 복사하지 않으시겠습니까? appendChild 또는 cloneNode를 활용하여이를 구현 한 다음 새 DOM의 유효성을 검사 할 수 있습니다.

그런데 지정된 DOM 조각의 유효성을 검사하려면 validateNode 메서드가 있어야합니다.

관련 문제