Xerces / Xalan: UNC-путь в качестве аргумента для функции документа? - PullRequest
0 голосов
/ 07 апреля 2009

Я преобразую XML-документ, используя Xerces-C 2.5 и Xalan-C 1.8. XSL содержит функцию «документ», которая ссылается на файл в сети. К сожалению, я не могу получить доступ к этому файлу по HTTP. У меня есть только UNC-путь.

Xerces отказывается анализировать ссылочный документ, потому что WinSockNetAccessor :: makeNew вызывается в Xerces, поскольку протокол "file" принимается только для локальных файлов. WinSockNetAccessor :: makeNew реализован только для HTTP, генерируется исключение и файл игнорируется.

Есть ли способ обмануть Xerces, чтобы принять путь unc как локальный файл или любой другой известный обходной путь без написания собственного парсера или манипулирования Xerces?

Ответы [ 2 ]

1 голос
/ 07 апреля 2009

Простой обходной путь, я думаю, состоит в том, чтобы просто создать сопоставление, чтобы можно было назвать сетевой диск O: или как угодно. Это часто обманывает программы, которые не могут работать напрямую с UNC-путём (например, сам cmd.exe).

0 голосов
/ 08 апреля 2009

Имеет ли UNC, как это выглядит в XSL, префикс "file:"?

Кстати, Xerces C V2.5 уже несколько лет. Вы пробовали последнюю версию - V3.0.1 на данный момент?

...