2012-08-22 4 views
1

jQuery.parseXML(data)을 사용하여 XML 문자열의 유효성을 검사 할 수 있는지 묻고 싶습니다.jQuery.parseXML (데이터)을 사용하여 XML 유효성 검사

XML을 파싱하는 데 사용된다는 것을 알았지 만 XML이 유효하지 않은 경우 오류 메시지가 표시되지만 XML에 사소한 오류가있을 때마다 함수가 실패합니까?

나는 그것에 대해 인터넷 검색을 시도했지만, 내가 발견 한 것은 파싱과 관련이 있으며 검증에 관한 것이 아닙니다.

감사합니다.

답변

2

아니요, jQuery (적어도 모질라는 아니지만 다른 비 IE 브라우저 일 가능성이 높음)를 통해서가 아닙니다. IE의 경우

, "당신은 스키마에 대해 XML 문서의 유효성을 검사하는 데 사용할 수 없습니다.", loadXML로, http://msdn.microsoft.com/en-us/library/windows/desktop/ms754585%28v=vs.85%29.aspx로 평가하고, 그래서 분명히 http://code.jquery.com/jquery-latest.js에서 jQuery를에 사용되는 코드 중 하나를 확인하지 않습니다. 적어도 Msxml2.DOMDocument의 4.0 버전 - -

그러나 http://www.stylusstudio.com/xsllist/200301/post50460.html에서 일부 코드는 올바른 IE와 IE (전용)에서 가능하다 제안 할 것 http://msdn.microsoft.com/en-us/library/aa468547.aspx#beginner_failure에 따르면, "MSXML 파서의 유효성을 검사하기 때문에 (validateOnParse 속성이 false로 설정되지 않은 경우) 문서에 DTD 또는 스키마 중 하나가 지정된 경우 해당 문서를 반환합니다.

그러나 모질라 및 다른 브라우저에서는 이것들이 유효성 검사를 수행하지 않습니다. (나는 Ajax DOMParser()의 경우 외부 DTD를로드했다고 생각했지만 지금은 나에게 적합하지 않습니다. 경우 엔티티가 일반 웹 사이트에로드되지 않음).

http://code.google.com/p/jssaxparser/ 또는 http://debeissat.nicolas.free.fr/relaxng.php이 외부 유효성 검사를 지원하는지 여부는 기억이 나지 않습니다. 그러나이 방향으로 가야 할 필요가 있다고 생각합니다.

XML을 사용해야합니까? 아마도 JSONSchema가 귀하의 요구를 충족시킬 수 있습니까? http://json-schema.org/implementations.html.

+0

+1. 정교한 답변과 제공하신 모든 링크에 감사드립니다. 나는이 XML을 사용하지 않고있다. 나는 서비스 제공자 중 한 명으로부터 얻은 XML을 검증하고있다. – Kuf