catalog.xml에 나열된 .xsd 파일로 일부 xml 파일의 유효성을 검사해야하지만 데이터베이스에 있습니다. 그래서 resolver가 필요합니다. catalogId에서 systemId와 blob로 저장된 .xsd 파일을 데이터베이스에 일치시킵니다. 이 작업을 수행하는 XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier)
메서드를 찾았지만 파서가이 메서드를 사용하는 방법을 찾을 수 없으므로 제대로 처리하지 못하는 방법을 잘 모르겠습니다. 나는 Stream에서 .xsd 파일을 포함하고있는 XMLInputStram
을 반환한다고 생각했지만 XMLInputSource 문서에 따르면 "엔터티의 해상도를 그대로두고 호출자에게 입력 스트림을 여는 것이기 때문에"사실이 아닙니다.catalog.xml 엔터티를 데이터베이스와 일치시키는 방법은 무엇입니까?
내 질문은 - 데이터베이스에 저장된 .xsd 파일을 사용하여 catalog.xml의 엔티티를 매핑하는 방법입니다.
나는 분명히 문제를 분명히 설명하기를 희망하지만, 내 영어가 정말 가난하다는 것을 알고 있습니다. 더 자세한 내용이나 더 나은 설명을 요청하십시오.
인사말, Rzysia
덕분에, 그것은 나에게 정말 유익합니다. 내'XMLCatalogResolver' (org.apache.xerces.util')는'EntityResoler'와'XMLEntityResolver' 만 구현하고'CatalogResolver'는 확장하지 않습니다. 나는 이것을 추가하고'System.out.print'만으로'getResolvedEntity' 메소드를 오버라이드하고'super.getResolvedEntity' 메소드를 호출했지만, 내 프로그램은 사용하지 않았다 ... 나는 이것을 쓰는 것을 잊었다 - 나는 sbd를 수정해야한다. else code, 나는 처음부터 – rzysia
에서이 프로그램을 작성하지 않는다. 내 프로그램은'XMLEntityResolver' 인터페이스에서'resolverEntity'를 호출하고있다. 그러나이 함수에 내 자신의 resolver를 쓰는 것과 같을 것이라고 생각한다. – rzysia
@rzysia 죄송합니다. 내가 당신의 코드에서 그렇게 깊이 도울 수 있다고 생각하지 마십시오. 당신의 케이스와'* Resolver'-interfaces에서 호출되는 것을 연결선으로 찾으십시오. 또는 리졸버에서 아날로그 개념을 사용하십시오. 행운을 빕니다. – lexicore