XSLTProcessor.transformToDocument всегда возвращает ноль, используя Chrome - PullRequest
0 голосов
/ 28 июня 2019

Я использую XSLTProcessor в JavaScript для преобразования некоторых XML с помощью таблицы стилей.Код работает до тех пор, пока не будет использован метод transformToDocument.Возвращаемое значение для этого метода всегда равно null.

Я ожидаю, что вывод resultDOM будет XMLDocument, но фактический вывод равен null.

xslText - это xsl: stylesheet.Мой JavaScript, который работает в IE с использованием xslDom.loadXML (xslText), работает правильно.Если я изменю свой код на использование var xslText5, который у меня ниже, он будет работать, а var xslText7 - нет.

var xslText5 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">   <xsl:template match=\"/\">                <html><body>  <h2>test00</h2>             </body></html>   </xsl:template></xsl:stylesheet>";


var xslText7 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">   <xsl:template match=\"/\">                <html><body>  <h2>test00</h2>      <xsl:for-each select=\"Template/top/Room/Day/Schedule[@Sakey=$inRoomSchedSakey]\">         <h2>test11</h2>      </xsl:for-each>    </body></html>   </xsl:template></xsl:stylesheet>";                                  

var parser=new DOMParser();
xslDom2=parser.parseFromString(xslText7,"text/xml");
this.xslProcessor2 =  new XSLTProcessor();
this.xslProcessor2.importStylesheet(xslDom2);
var resultDOM = this.xslProcessor2.transformToDocument(xml.xmlDom);

var serializer = new XMLSerializer();
var output = serializer.serializeToString(resultDOM);

//Here is the xml (variable 'xml' above)
<?xml version="1.0"?>
<Template><top><criteria end="5:00 PM" start="7:00 AM" location="Indianapolis"/><Room Sakey="1"><Name><![CDATA[Classroom #01]]><Capacity>24</Capacity><OpenReserve>NO</OpenReserve><Configuration>Classroom</Configuration><Role>ROOMMGR</Role><Location Sakey="24965"><Day Date="2019/07/01"><Schedule Sakey="159944"><StartTime>47</StartTime><EndTime>55</EndTime><Reason><![CDATA[]]></Reason><PersonReserving><![CDATA[ANTHONY MISNER]]></PersonReserving><StartTimeString>11:30 AM</StartTimeString><EndTimeString>1:30 PM</EndTimeString><CourseTitle/><ProcessedBy Sakey="S000027819"><Email><![CDATA[
anthony.j.misner.ctr@mail.mil]]></Email><Name><![CDATA[ANTHONY MISNER]]></Name></ProcessedBy><Cancelled>NO</Cancelled></Schedule></Day><Day Date="2019/07/02"/><Day Date="2019/07/03"><Day Date="2019/07/04"/><Day Date="2019/07/05"/></Room></top></Template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...