2013-10-07 8 views
0

Я пытаюсь начать использовать EXSLT.Файл не найден с использованием EXSLT

Вот мой базовый XSL.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
       xmlns:exsl="http://exslt.org/common" 
       extension-element-prefixes="exsl" 
       version="1.0"> 
<xsl:import href="exsl.xsl" />     

    <xsl:output method="html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" indent="yes"/> 
    <xsl:variable name="main" select="/data"/> 

    <xsl:template match="/data"> 

     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
     HTML STARTS 
      <br/> 
      <xsl:variable name="metadata" select="document('metadata.xml')"/> 
      Straight Value of<br/> 
      <xsl:value-of select="$metadata"/>   
      Node-set value of <br/> 
      <xsl:value-of select="exsl:node-set($metadata)/email"/> 


      <xsl:for-each select="$metadata/Data"> 
       <xsl:variable name="node" select="."/> 
       <xsl:value-of select="$node"/> 
       Test<br/> 


      </xsl:for-each> 

     </html> 
    </xsl:template> 
</xsl:stylesheet> 

Я загрузил общий модуль с веб-сайта EXSLT. (http://www.exslt.org/exsl/index.html)

Структура этого модуля:

 
base.css 
exsl.xsl 
/functions/node-set/base.css 
/functions/node-set/exsl.node-set.xml 
/functions/object-type/base.css 
/functions/object-type/exsl.object-type.xml 
/elements/document/base.css 
/elements/document/exsl.document.xml 
(+ some htmls in each folder). 

извлечь это и поместить его в том же каталоге, что и мой базовый XSL, так что exsl.xsl и моя база XSL находятся в одной и той же папке ,

exsl.xsl sayss

<?xml version="1.0" encoding="utf-8"?> 
<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/exsl" version="1.1" extension-element-prefixes="exsl" exsl:doc="http://www.exslt.org/exsl"> 
    <import href="node-set/exsl.node-set.xsl"/> 
    <import href="object-type/exsl.object-type.xsl"/> 
</stylesheet> 

Теперь это кажется неправильным само по себе, как это не указывает на папку функции первого. Однако, даже если добавить функцию:

<import href="functions/node-set/exsl.node-set.xsl"/> 
    <import href="functions/object-type/exsl.object-type.xsl"/> 

я получаю «Локальный файл не найден» ошибка на XMLSpy.

Любая идея, как я это начал?

+0

Хорошо, поэтому проблема заключается в том, что это _xml_ в папке и _xsl_ пытается импортировать ... – dwjohnston

+0

Какой XSLT-процессор вы используете? Да ... это имеет значение. –

+0

Я использую XMLSpy, но в противном случае Internet Explorer 8. – dwjohnston

ответ

0

Как было отмечено выше:

Reference пространство имен EXSLT это все. Они включены.

Если у вас есть <xsl:variable name="metadata" select="document('metadata.xml')"/>, тогда нет необходимости использовать функцию набора узлов exsl: node, поскольку функция документа дает вам набор узлов.

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

  • Нет связанных вопросов^_^