eXist-db上的XML:错误:XPST0003意外令牌

时间:2014-03-31 22:30:44

标签: xml xslt xforms exist-db xsltforms

我在eXist-db上有一个XML文档,但编译器抱怨给我以下错误:

  

无法编译xquery:exerr:ERROR org.exist.xquery.XPathException:   错误:XPST0003意外令牌:xml-stylesheet   href =“../ xsltforms / xsltforms.xsl”type =“text / xsl”[第2行,第2列   1]

我已经尝试了我能想到的一切:

  • 将xml复制到xhtml文档。
  • 删除它抱怨的标签(但后来又抱怨其他标签)
  • 在eXist中运行xml但没有结果
  • 在浏览器中运行由它生成的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没有被定义或什么。< / p>

1 个答案:

答案 0 :(得分:2)

将XSLT引擎从Saxon更改为Xalan。

默认情况下,eXist-db 2.0在eXist-db安装目录的conf.xml中附带以下配置:

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

要解决您的问题,请将其更改为:

<transformer class="org.apache.xalan.processor.TransformerFactoryImpl">