카탈로그 파일을 사용하여 Saxon이 DTD를 찾지 못하는 것에 대해 입을 다물 게 만들고 싶습니다. 현재 저는 더미 DTDS를 사용하고 필요한 폴더 구조를 에뮬레이트하지만 이상적이지 않습니다.
그러나 변환을 실행할 때 다음 오류가 발생합니다.
Transformation failed: Failed to load Apache catalog resolver library
Altova에서 Saxon을 부르는 방법은 다음과 같습니다.
java -jar "F:\saxon9he.jar" -s:%1 -o:%2 -xsl:%3 -t -catalog:"catalog.xml"
xerces 파서를 다운로드하고 거기에서 resolver.jar을 가져 왔습니다. 이미 실수입니까? (여기 : http://www.sagehill.net/docbookxsl/UseCatalog.html )
saxon9he.jar
의 resolver.jar
와는 catalog.xml
같은 폴더에있는 모든이다.
다음은 catalog.xml입니다.
<?xml version="1.0"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<public
publicId="-//EG//DTD EG DITA Map//EN"
uri="dtds/maps.dtd"/>
<public
publicId="-//EG//DTD EG DITA Composite//EN"
uri="dtds/topics.dtd"/>
</catalog>
다음은 파일에서 DTD가 어떻게 보이는지입니다.
<!DOCTYPE doc_map PUBLIC "-//EG//DTD EG DITA Map//EN" "../../system/dtd/client/eg-docmap.dtd">
<!DOCTYPE concept PUBLIC "-//EG//DTD EG DITA Composite//EN" "../../system/dtd/client/eg-dita.dtd">
및 (두 파일 모두 비어 있음)이 dtd
포함 된 폴더 를 만들었습니다 .maps.dtd
topics.dtd
이 게시물을 살펴 보았습니다 : saxon 내장 카탈로그 기능을 사용하는 방법을 찾았 지만 솔루션 형태를 얻을 수 없었습니다.
이것은 여전히 버그입니까? 아니면 내가 뭘 잘못 했나요?
편집하다:
콘솔 출력 :
Loading catalog: \catalog.xml
Saxon-HE 9.6.0.4J from Saxonica
Java version 1.7.0_09
Stylesheet compilation time: 940.807978ms
Processing file:/F:/export/folders.xml
Using parser org.apache.xml.resolver.tools.ResolvingXMLReader
Building tree for file:/F:/export/folders.xml using class
net.sf.saxon.tree.tiny.TinyBuilder
Tree built in 3.841258ms
Tree size: 6 nodes, 0 characters, 6 attributes
Building tree for file:/F:/export/test/532a1069faf343d79c4ad37f8339aeda.map using class net.sf.saxon.tree.tiny.TinyBuilder
Error at template on line 33 of maps.xsl:
I/O error reported by XML parser processing
file:/F:/export/test/532a1069faf343d79c4ad37f8339aeda.map: F:\export\system\dtd\client\map.dtd (cannot find path)
I/O error reported by XML parser processing file:/F:/export/test/532a1069faf343d79c4ad37f8339aeda.ditamap: F:\export\system\dtd\client\
map.dtd (cannot find path)
둘 이상의 JAR 파일에서 소프트웨어를로드하려는 경우 -jar 옵션을 사용하지 마십시오. -cp 옵션을 사용하여 모든 필수 JAR이 포함 된 클래스 경로를 정의하고 원하는 진입 점 (net.sf.saxon.Transform)을 명시 적으로 지정하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다