XML на eXist-db: ошибка: неожиданный токен XPST0003

У меня есть XML-документ на eXist-db, но компилятор жалуется, выдавая следующую ошибку:

Не удается скомпилировать xquery: exerr:ERROR org.exist.xquery.XPathException: err:XPST0003 неожиданный токен: xml-stylesheet href="../xsltforms/xsltforms.xsl" type="text/xsl" [в строке 2, столбце 1 ]

Я пробовал все, что мог придумать:

  • копирование xml в документ xhtml.
  • удаление тегов, на которые он жалуется (но затем он жалуется на другие теги)
  • запустить xml в eXist без результата
  • запустить сгенерированный им html в браузере тоже с другой ошибкой.

Я думаю, что это соответствующая часть XML:

nuevacontribucion.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="../xsltforms/xsltforms.xsl" type="text/xsl" ?><?css-conversion no?><?xsltforms-options debug="no"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms">
<head>
    <title>Crear una nueva Contribución</title>
    <link href="../css/loading.css" rel="stylesheet"/>
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen"/>
    <link href="bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" media="screen"/>
    <link href="assets/styles.css" rel="stylesheet" media="screen"/>
        <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="vendors/flot/excanvas.min.js"></script><![endif]-->
        <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
        <!--[if lt IE 9]>
            <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    <script src="vendors/modernizr-2.6.2-respond-1.1.0.min.js"/>
    <style>
        input[type='text'], select{
            min-height: 30px;
        }
        iframe{
            width: 100% !important;
            height: 200px !important;
        }
        .datepicker .aid-button{
            display: none !important;
        }
    </style>

Если я удаляю тег xml-stylesheet, он выдает то же исключение, но жалуется на преобразование css, если я удаляю его, то речь идет о следующем теге, если я удаляю его, то речь идет о том, что xmlns не определен или что-то в этом роде.


person HardCodeStuds    schedule 31.03.2014    source источник
comment
Он обрабатывает ваш XML-файл как XQuery; что вы делаете с файлом, когда возникает ошибка? Что означает запустить XML?   -  person Daniel Haley    schedule 01.04.2014
comment
Как вы сохранили XML-документ в базе данных? Ошибка, которую вы получаете, связана с выполнением XQuery, который не связан с проблемой, которую вы описываете.   -  person adamretter    schedule 01.04.2014
comment
Является ли это дубликатом stackoverflow.com/questions/22703669/ Который я уже комментировал, пока @dylan-valez не ответил, так что, если он ждет неделю, это, похоже, не на нас?   -  person adamretter    schedule 01.04.2014
comment
1) я ничего не делаю с файлом, когда выдается ошибка, говоря, что я запускаю XML, я имею в виду нажатие кнопки запуска в существующей базе данных, чтобы увидеть прямой вывод, как я сделал с другими файлами xml. 2) файл был сохранен с помощью клиента администратора Java, я восстановил резервную копию, и он сохранил файлы и папки, как это было в резервной копии. 3) я ответил, но так и не получил ответа, мне это действительно нужно, так что да, я задал еще один вопрос, извините.   -  person HardCodeStuds    schedule 01.04.2014
comment
Вы уже сменили процессор XSLT на Xalan вместо Saxon?   -  person Bill Velasquez    schedule 02.04.2014
comment
Я этого не делал, объясните, как мне это сделать и почему это имеет значение?   -  person HardCodeStuds    schedule 02.04.2014


Ответы (1)


Измените механизм XSLT с Saxon на Xalan.

По умолчанию eXist-db 2.0 поставляется со следующей конфигурацией в conf.xml в каталоге установки eXist-db:

 <transformer class="net.sf.saxon.TransformerFactoryImpl">

Чтобы решить вашу проблему, измените его на:

<transformer class="org.apache.xalan.processor.TransformerFactoryImpl">
person Bill Velasquez    schedule 07.04.2014