XSLTProcessor :: importStylesheet()中的多个PHP警告
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了XSLTProcessor :: importStylesheet()中的多个PHP警告,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5405字,纯文字阅读大概需要8分钟。
内容图文
错误:
Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Undefined variable in /transform.php on line 24 Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: compilation error: file /protocols.xsl line 18 element template in /transform.php on line 24 Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Failed to compile predicate in /transform.php on line 24 Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Undefined variable in /transform.php on line 24 Warning: 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 24 Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Failed to compile predicate in /transform.php on line 24 Warning: 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
思考?有什么明显的??
解决方法:
看看这个错误:
警告:XSLTProcessor :: importStylesheet()[xsltprocessor.importstylesheet]:编译错误:第24行的/transform.php中的文件/protocols.xsl第18行元素模板
在第18行你有:
< xsl:template match =“page / section [@ id = $sectionNumber]”> // LINE 18
$sectionNumber在哪里定义? PHP无法看到它.
内容总结
以上是互联网集市为您收集整理的XSLTProcessor :: importStylesheet()中的多个PHP警告全部内容,希望文章能够帮你解决XSLTProcessor :: importStylesheet()中的多个PHP警告所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。