2011-01-26 9 views
7

У меня есть таблица стилей, расположенная в /template.xsl и файл xml, расположенный в /en/index.xml, где «/» (корень) на самом деле имеет форму «C: \ материал \ otherstuff \».Проблема относительного пути таблицы стилей XSLT под окнами

Файл xml содержит <?xml-stylesheet type="text/xsl" href="../template.xsl"?>, но таблица стилей не обнаружена. Я пробовал бесчисленные вариации, используя обратную косую черту или пару или обратную косую черту вместо косой черты, используя файл: ///, абсолютный путь, ...

Что не так?

Редактировать: для записи он работает в IE, но не в Firefox.

Edit: а вот объяснение: http://forums.mozillazine.org/viewtopic.php?f=25&t=670995 Это также относится решение:

  1. типа о: конфигурации в адресе бар
  2. изменение security.fileuri.strict_origin_policy к ложной
+1

я не могу воспроизвести это , Любой источник входного сигнала с подобным PI вызовет преобразование в родительскую папку. Обратите внимание, что есть случаи, когда вам нужна привилегия. –

+0

Я видел это, когда итоговый абсолютный путь содержит пробелы. Какой XSL-трансформатор вы используете (т. Е. Ожидаете ли вы его вызывать) и что XML-парсер должен вызывать этот трансформатор? Просто MSXML? –

+0

@Alejandro: Я не понял, что вы имели в виду под «вызовом преобразования в родительской папке». @Alain: Путь не содержит пробелов. Я просто открываю xml-файл с Firefox 4, так что это то, что использует Firefox. Все работает нормально, если файлы xml и xslt размещены в одной папке. – Norswap

ответ

0

Есть две вещи, которые могут быть проблемой, я думаю.
1. Скажем, файлы размещены в одной папке, href = "../ template.xsl" направляется в родительскую папку вашего XML-файла. Возможно, вы должны использовать href = "template.xsl".
2. Firefox - это бета-версия. Если вы тестируете вещи, вы всегда должны использовать стабильную версию, потому что иначе это может быть программное обеспечение Beta, вызывающее ошибки.

+0

1. Я не сказал, что template.xsl фактически находится в родительской папке (пожалуйста, перечитайте мой пост). 2. Он также не работает в Firefox 3. – Norswap

-1

Если таблица стилей называется template.xml, как вы говорите, ссылка на template.xsl не собирается ее искать.

+0

На самом деле template.xsl, я отредактирую опечатку сразу. – Norswap

1

Я заметил, что если ваш put template.xsl в поддиректории сказать DISPLAY, то href = "DISPLAY/template.xsl" работает. Но если вы поместите свой XML в другой подкаталог, скажем A, href = "../ DISPLAY/template.xsl" не работает.

Похоже, что существует проблема с "..".

(Даже в 2015 году, при использовании Firefox 40.0!) Крепежную знакомства Николаса Smethurst в: https://bugzilla.mozilla.org/show_bug.cgi?id=439924

-> как было сказано выше, переключатель security.fileuri.strict_origin_policy

Смежные вопросы