Проблема метода document () в обработке xsl с помощью javascript - PullRequest
0 голосов
/ 15 марта 2011

Моя проблема в том, что WebKit не может обработать метод xslt document (), когда я использую javascript для обработки xslt.Когда я включаю xsl файл в xml и вызываю xml файл из браузера, он работает.Но когда я использую JavaScript для обработки этого процесса, он падает.Я должен использовать JavaScript для передачи параметров в файл XSL.Поэтому я не могу жить без JavaScript.Вот HTML-часть.

<html>
<head>
    <script language="javascript" src="./js/jquerymin.js"></script>
    <script language="javascript" src="./js/jquery.transform.js"></script>
<script>

$(document).ready(function(){
    $("#example").transform({xml:"sample.xml", xsl:"sample.xsl", xslParams:{scan:'system',sub:'lan'}});
});
</script>
</head>
<body >
<div id="example" ></div>
</body>
</html>

Вот базовый xsl-файл, который вылетает при таком подходе:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:nsm="http://xxxxx.com/yyyyy/system"
                xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xsl:param name="scan" select="'system'"/>
<xsl:param name="sub" select="'lan'"/>

<xsl:output method="html"/>  

<xsl:template match="/">
        <xsl:variable name="xsdFile" select="document('sample.xsd')"/>
        <xsl:for-each select="$xsdFile">
               ssss
        </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

Как я уже сказал, он не работает, пока я позволяю javascript выполнять преобразование. Нокогда я вызываю XML-файл из браузера, он работает.

Это ошибка или я что-то здесь упускаю?

Спасибо,

edit: http://plugins.jquery.com/project/Transform этоплагин jquery, который я использую.Кстати, другие браузеры, такие как Firefox и Opera, могут работать в обоих направлениях совершенно безупречно

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Ошибка 14101 - XSLTP-процессор не принимает узлы в качестве значений параметров

Я ждал, пока команда WebKit исправит эту ошибку довольно давно (она была открыта с середины 2007 года).

Если кто-нибудь знает способ ускорить это исправление, пожалуйста, включите.

1 голос
/ 28 апреля 2011

Alejandro, чтобы работать document() в XSLT, вам нужно использовать серверную часть плагина преобразования

...