的Schematron的版本,您使用的,不需要XSL 2.0然而该文件,你已经使用了XSL 2.0功能。
XSLTProcessor
在PHP中仅支持XSL 1.0。因此,该文件中使用的某些功能不可用,导致导入失败。
由于无法导入样式表,转换无法运行。
该错误消息
Warning: XSLTProcessor::transformToXml(): No stylesheet associated to this object
意味着该样式表是丢失。不是在磁盘或内存中,而是为了转换。
这是因为它有错误,最后无法编译。
就你而言,你拥有的XSL文件是2.0版本,但PHP仅支持1.0特性。它也使用未设置(定义)的变量。当我打开你的榜样的数据我收到以下错误:
Warning: XSLTProcessor::importStylesheet(): compilation error: file CI-SIS_StructurationCommuneCDAr2.xsl line 13 element stylesheet
那就是:
version="2.0">
,并通过下一个警告解释说:
Warning: XSLTProcessor::importStylesheet(): xsl:version: only 1.0 features are supported
接下来是未定义的变量:
Warning: XSLTProcessor::importStylesheet(): Undefined variable
Warning: XSLTProcessor::importStylesheet(): compilation error: file CI-SIS_StructurationCommuneCDAr2.xsl line 4974 element template
其中是
<!--RULE -->
<xsl:template match="*[cda:templateId/@root = $templateObservationMedia]" priority="1000"
mode="M62">
这是$templateObservationMedia
变量并导致
Warning: XSLTProcessor::importStylesheet(): Failed to compile predicate
为了得到这个工作,你至少需要解决这些问题。由于在匹配模式中使用变量不是XSLT 1.0,所以至少需要解决该问题。有关变量/匹配问题的扩展讨论,请参见Multiple PHP Warnings in XSLTProcessor::importStylesheet()。
查看类似:http://stackoverflow.com/q/4822914/287948 – 2014-07-28 08:09:14