作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
错误:
Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Undefined variable in /transform.php on line 24Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: compilation error: file /protocols.xsl line 18 element template in /transform.php on line 24Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Failed to compile predicate in /transform.php on line 24Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Undefined variable in /transform.php on line 24Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: compilation error: file /home6/oneninfi/public_html/craigfreeman/iphone/project1/protocols.xsl line 22 element template in /transform.php on line 24Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Failed to compile predicate in /transform.php on line 24Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: No stylesheet associated to this object in /transform.php on line 35
PHP:
$xsl = new XSLTProcessor();
$xsldoc = new DOMDocument();
$xsldoc->load($_GET['xsl'].'.xsl'); // protocols.xsl
$xsl->importStyleSheet($xsldoc); // LINE 24
if(isset($_GET['sectionNumber']))
$xsl->setParameter('', 'sectionNumber', $_GET['sectionNumber']);
if(isset($_GET['protocolNumber']))
$xsl->setParameter('', 'protocolNumber', $_GET['protocolNumber']);
if(isset($_GET['entryNumber']))
$xsl->setParameter('', 'entryNumber', $_GET['entryNumber']);
$xmldoc = new DOMDocument();
$xmldoc->load($_GET['xml'].'.xml');
echo $xsl->transformToXML($xmldoc); // LINE 35
XSL:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="protocolNumber"></xsl:param>
<xsl:param name="sectionNumber"></xsl:param>
<xsl:output method="html" encoding="UTF-8"/>
<xsl:template match="page/section[@id=$sectionNumber]"> // LINE 18
<xsl:apply-templates select="protocol[@id=$protocolNumber]"/>
</xsl:template>
<xsl:template match="protocol[@id=$protocolNumber]"> // LINE 22
<h4>(<xsl:value-of select="$sectionNumber"/>.<xsl:value-of select="@id"/>) <xsl:value-of select="@title"/></h4>
<!-- Applies templates to all child elements -->
<ol><xsl:apply-templates/></ol>
</xsl:template>
<xsl:template match="start">
<span class="start"><xsl:value-of select="@level" /></span>
</xsl:template>
<xsl:template match="stop">
<span class="stop"><xsl:value-of select="@level" /> STOP</span>
</xsl:template>
<xsl:template match="note">
<span class="note"><span class="noteType"><xsl:value-of select="@title" /></span>: <xsl:value-of select="." /></span>
</xsl:template>
<xsl:template match="step">
<li><span class="step"><xsl:value-of select="."/></span></li>
</xsl:template>
</xsl:stylesheet>
XML:
<?xml version="1.0" encoding="UTF-8"?>
<page type="Protocols">
<section id="3" title="Adult Cardiac Life Support">
<protocol id="0" title="Cardiac Arrest - General Procedures">
<start level="All Levels"/>
<step>Verify patient is pulseless and apneic.</step>
<step>Initiate or continue CPR. CPR is to be continued at all times, except during defibrillation and /or interruptions < 10 sec for patient transfer.</step>
<step>Assure airway patency and begin use of BVM. Provide initial BLS airway management, including Oropharyngeal or Nasopharyngeal Airway.</step>
<step>Apply AED or SAED if available. If AED already in place, wait until current shock sequence completion to switch to another AED or manual monitor – may use previously applied patches if compatible with new unit.</step>
<step>Follow prompts provided by AED/SAED device.</step>
<step>Utilize ALS, or initiate timely transport toward ALS (ALS intercept or hospital if closer). If ALS not available, no more than 3 shocks should be delivered at the scene. Defibrillation should not be performed in a moving ambulance.</step>
<step>Advise receiving hospital ASAP.</step>
<stop level="EMT"/>
<start level="EMT-I, CC & P"/>
<step>If AED/SAED not already applied, quick look using manual monitor and defibrillate PRN after CPR of at least 5 cycles (about 2 minutes). Apply limb leads and pads in between shock sequences as appropriate.</step>
<step>Obtain vascular access.</step>
<step>Secure definitive airway. If BLS airway is sufficient to maintain chest rise, continue until additional time or resources are available. If unable to intubate, continue use of BLS airway adjuncts or use alternate airway device.<br/><br/>emove Bag Valve device whenever transferring patient, moving patient in and out of Ambulance, or other times
when Bag Valve device may dislodge the device.<br/><br/>Reassess airway patency after any movement of patient.</step>
<stop level="EMT-I" />
<start level="EMT-CC & P"/>
<step>Give medications as listed in the following specific arrhythmia / dysrhythmia protocols.
</step>
<note title="NOTE">Should IV/IO access not be available, Epinephrine, Atropine, and Lidocaine may be administered via ETT under
direct, on-line Medical Control.</note>
</protocol></section></page>
PHP5启用 XML/XSL
想法?有什么明显的吗??
最佳答案
一种可能是 XSL 处理器真的在提示
没有被声明为一个实体。尝试将文档类型更改为
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp ' '> ] >
关于php - XSLTProcessor::importStylesheet() 中的多个 PHP 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711001/
我尝试复制示例 Transforming XML to XHTML in the Browser ,但我在控制台中的 xsltProcessor.importStylesheet(xsl) 行出现错误
我正在尝试使用以下代码 # LOAD XML FILE $XML = new DOMDocument(); $XML->loadXML( $exporteddatatransformed ); # S
错误: Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Undefined variable
我想美化一些 XML,我发现了以下代码( in this answer , JSFiddle )。我是这样修改的: const xsltDoc = new DOMParser().parseFromS
我正在尝试使用 XSL 将 XML 文件转换为整洁的表格。为此,我使用了 W3schools 提供的示例,这些示例位于 here。作为起点。然而,浏览器(chrome)正在抛出本文标题中描述的错误。我
我是一名优秀的程序员,十分优秀!