다양한 제약 조건에 맞춰 XML 파일의 유효성을 검사해야합니다 : 요소 텍스트의 형식 및/또는 형식, 동시 발생, 날짜 비교 및 날짜 계산 및 일부 사용자 정의 데이터베이스 (즉, 요소 X는 하위 요소 A, B 및 C 만 포함 할 수 있음)의 규칙을 사용하고이를 수행하는 방법을 모르겠습니다.광범위한 제약 조건에 대해 XML 문서 유효성 검사
이 응용 프로그램의 현재 화신은 Perl 코드가 XSD 또는 RELAX NG를 사용하여 out-the-box에서 얻을 수있는 많은 기능을 복제한다고 생각하므로 Perl을 통해 이러한 제약을 적용합니다. 불행하게도 이들 중 하나를 사용하면 최종 사용자에게 숨겨진 오류 메시지가 표시됩니다. 이러한 비밀스러운 메시지를 우호적 인 것으로 매핑하는 것은 불가능합니다 (줄/줄 번호 제공 이외).
다음은 Schematron입니다. 위에서 언급 한 스키마 언어가 할 수없는 친숙한 메시지 및 제약 조건을 생성 할 수 있습니다. 불행히도 형식/형식 검사와 날짜 계산은 큰 XSLT 템플릿 해킹이됩니다.
이제 무엇을해야할지 모르겠습니다.
RELAX NG와 같이 Schematron과 RELAX NG의 결합이 가장 좋은 방법 인 것처럼 보이지만 RELAX NG에서 생성 된 오류로 인해 최종 사용자에게 유용한 정보를 제공 할 수 없습니다.
DB의 사용자 지정 규칙을 기반으로 수정할 마스터 스키마 템플릿을 사용하고 싶습니다.
원래 접근법을 최상으로 유지하고 있습니까? 아니면 Schematron/RELAX NG를 사용하고 형식/유형 집행을 XSLT 템플릿으로 레슬링해야합니까?
오류는 "RELAX NG에서 제공하지"않으며 오류의 특정 구현에 의해 제공됩니다. 어느 쪽을 사용하고 있습니까? –
사실. libxml을 사용하고 있습니다. –