В Eclipse 3.5: переписать местоположение импорта/включения xsl за кулисами, чтобы оно правильно проверяло файлы.

Я использую Убунту

Я работаю с файлами xsl, в которых есть операторы импорта или включения, подобные этому

<xsl:import href="/xsl/content/contentsecondary.xsl"/>

Eclipse не может найти этот файл, потому что /xsl/ на самом деле не находится в корне проекта, но виден из корня веб-сервера из-за этой строки в моем файле etc/xml/catalog:

<rewriteSystem systemIdStartString="/xsl/" 
    rewritePrefix="file:///home/someguy/workspace/someproject/include/xsl/"/>

Таким образом, для того, чтобы встроенная в eclipse проверка xsl работала, ему необходимо знать реальное местоположение /xsl/. Кто-нибудь знает, как это сделать?

На данный момент я отключил отчеты об ошибках при отсутствующих включаемых файлах, но по-прежнему получаю ошибки при вызовах call-template для шаблонов, которые он не может найти. Я никогда не сталкивался с тем, чтобы наши шаблоны были полностью интегрированы с функциями eclipses xsl. Я думаю, что это обеспечило бы действительно отличную проверку ошибок / автозаполнение, которое я упускаю.

Любая помощь будет оценена по достоинству. Спасибо.


person Sen    schedule 14.07.2009    source источник


Ответы (3)


Есть ли причина, по которой вы не можете реплицировать структуру в каталоге развертывания в каталоге вашего проекта? Если вы не хотите переносить существующую структуру, вы можете воспроизвести переписывание в своем проекте с помощью символических ссылок.

Если вы беспокоитесь не только о завершении/проверке контента, но и хотите его запустить, вы можете написать простой java-клиент, который предоставляет собственный URIResolver для разрешения URL-адресов, на которые вы получаете правильные ссылки.

Я еще не перешел на Eclipse 3.5, но, прочитав немного об этом сейчас, я думаю, что сделаю это и скачаю.

person Chris Scott    schedule 14.07.2009
comment
Ну, он находится под контролем версий, поэтому ему необходимо поддерживать свою структуру. Я пытался создать символическую ссылку, чтобы /xsl/ был в корне, но на самом деле он все равно выдавал ошибки при попытке импорта/включения. Возможно, мне нужно сделать что-то еще, чего мне не хватает. - person Sen; 14.07.2009

Еще один выстрел, но это не совсем просто:

  • в разделе «Конфигурации запуска» создайте новую конфигурацию для своего сценария.
  • На вкладке «Процессор» установите Saxon в качестве установленного процессора.
  • add an attribute called http://saxon.sf.net/feature/styleParserClass
    • this is where it gets tricky, you have to supply a parser class name in java that knows how to find your files. You'll then have to add this jar under your saxon processor configuration.

Это должно дать вам контроль над перегрузкой импорта и включить директивы таблиц стилей.

Почти наверняка это не будет проверено в eclipse, но вы сможете запустить его и найти свой импорт.

person Chris Scott    schedule 14.07.2009

Я знаю, что это работает для XML-схемы, но может работать и для XSL, но в данный момент я не в состоянии проверить это.

добавить вклад каталога в Eclipse. В разделе Окно->Настройки->XML->Каталог XML выберите Записи, указанные пользователем и затем кнопку Добавить.

person Rich Seller    schedule 14.07.2009
comment
Я пробовал это, но, похоже, это не помогает. Я просто указываю на /etc/xml/catalog. Знаете ли вы, действительно ли важны тип ключа и значения ключа, чтобы заставить это работать? - person Sen; 14.07.2009
comment
что вы положили в поля? - person Rich Seller; 14.07.2009
comment
Я забыл, я только что удалил этот проект и снова проверил его в CVS. Каким-то образом мой каталог xsl потерял связь с CVS (??) - person Sen; 16.07.2009