2009-10-05 4 views
1

XML을 가져 와서 스키마 파일에 대해 유효성을 검사해야합니다. 이후에 나는 명령 (updateContactList 예제)을 기반으로 함수를 호출해야한다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? XML 유효성 검사 (및 오류보고) 걱정하고 데이터를 실행할 함수에 넣는 가장 좋은 방법은 무엇인지 모르겠다.스키마 (PHP 또는 perl 또는 가능한 C++)에 대해 XML의 유효성을 검사하는 방법

-edit- 참고 : 스키마의 유효성을 검사하여 정규식) 패턴. XML 및 스키마 함수를 호출하여 false + error msg 또는 true를 반환하면 좋을 것입니다.

+0

정규식 패턴이란 무엇을 의미합니까? 정규식에 대해 XML의 유효성을 검사하려고해서는 안됩니다. –

답변

7

정규식 패턴의 의미가 확실하지 않습니다. XML 문서의 유효성을 검사하는 가장 일반적인 방법은 trough가 XSD입니다. 당신은이에 대한 DomDocument->schemaValidate를 사용할 수 있습니다

$doc = new DOMDocument(); 
$doc->load($tempFile); 
$doc->schemaValidate('schema.xsd'); 

덜 사용 RelaxNG 스키마에 대해 유효성을 확인하는 또한 해당 DomDocument->relaxNGValidate있다.

true 또는 false의 유효성 검사가 아닌 오류 캡처 및 무언가를 수행하려는 경우 error-handler functions for libxml을 사용할 수도 있습니다. 본질적으로 문서를로드하고 유효성을 검사하기 전에 libxml_use_internal_errors(true);으로 전화하고 libxml_get_errorsdisplay_xml_error을 사용하여 오류를 가져옵니다.

관련 문제