2015-06-12 1 views
1

мой catalog.xmlиспользованием saxon9he с 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> 

в ОТД, как ожидается, что они:

<!DOCTYPE concept PUBLIC "-//EG//DTD EG DITA Composite//EN" "../../system/dtd/client/eg-dita.dtd"> 

<!DOCTYPE docmap PUBLIC "-//EG//DTD EG DITA Map//EN" "../../system/dtd/client/eg-docmap.dtd"> 

раскладку FileStore (Windows 7):

F:\export\catalog.xml 
    F:\export\*.xsl 
    F:\export\saxon9he.jar 
    F:\export\resolver.jar 
    F:\export\dtds\maps.dtd 
    F:\export\dtds\topics.dtd 
    F:\export\test\*.xml 
    F:\export\test\folders\*.xml 

Консольный выход:

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\eg-docmap.dtd (cannot find path) 
I/O error reported by XML parser processing file:/F:/export/test/532a1069faf343d79c4ad37f8339aeda.map: F:\export\system\dtd\client\ 
eg-docmap.dtd (cannot find path) 

Так файл F:/export/test/532a1069faf343d79c4ad37f8339aeda.ditamap имеет DTD <!DOCTYPE docmap PUBLIC "-//EG//DTD EG DITA Map//EN" "../../system/dtd/client/eg-docmap.dtd"> и ожидает, что его DTD быть в F:\export\system\dtd\client\eg-docmap.dtd И я хочу, чтобы сделать парсер взгляд на F:\export\dtds\maps.dtd

EDIT:

Это, как я это называю:

java -cp "saxon9he.jar;resolver.jar" net.sf.saxon.Transform base.xml all_maps.xsl -t -catalog:"catalog.xml"> all_maps.xml 

А на выходе, он говорит, что это сейчас (я не имею опцию -t перед):

Resolved public: -//EG //DTD EG DITA Map//EN 
     file:/F:/export/dtds/maps.dtd 
Failed to create InputSource (java.io.FileNotFoundException: F:\export\dtds\maps.dtd (system cand file the file)): file:/F:export/dtds/maps.dtd 
+1

Можете ли вы показать нам свою командную строку, которая вызывает саксон? –

+0

Спасибо за ответ. См. Мое редактирование. – user3629892

+0

Итак, 'file:/F: export/dtds/maps.dtd' не хватает косой черты, должен быть' файл:/F:/export/dtds/maps.dtd'. Не уверен, что это проблема с вашим каталогом или саксонским звонком. –

ответ

0

Ну, это должно было сработать. Я не видел, чтобы окна добавили дополнительный .txt к именам файлов. После удаления, это работало как шарм.

Командная строка, как указано в вопросах, файл каталога, как показано в вопросе.