使用する Schematron バージョンは XSL 2.0 を必要としませんが、所有するファイルは XSL 2.0 機能を使用します。
XSLTProcessor
PHP では XSL 1.0 のみをサポートします。そのため、そのファイルで使用されている機能の一部が利用できず、インポートが失敗します。
スタイルシートをインポートできなかったため、変換を実行できません。
エラーメッセージ
警告: XSLTProcessor::transformToXml(): このオブジェクトにスタイルシートが関連付けられていません
スタイルシートが欠落していることを意味します。ディスク上やメモリ内ではなく、変換用です。
これは、エラーがあり、最終的にコンパイルできなかったためです。
あなたの場合、あなたが持っている XSL ファイルはバージョン 2.0 ですが、PHP は 1.0 の機能しかサポートしていません。また、設定されていない (定義されていない) 変数を使用します。サンプルデータをロードすると、次のエラーが発生します。
警告: XSLTProcessor::importStylesheet(): コンパイル エラー: ファイル CI-SIS_StructurationCommuneCDAr2.xsl 13 行目の要素スタイルシート
それは次のとおりです。
version="2.0">
次の警告で説明されています。
警告: XSLTProcessor::importStylesheet(): xsl:version: 1.0 の機能のみがサポートされています
次は未定義の変数です。
警告: XSLTProcessor::importStylesheet(): 未定義の変数
警告: XSLTProcessor::importStylesheet(): コンパイル エラー: ファイル CI-SIS_StructurationCommuneCDAr2.xsl 行 4974 要素テンプレート
これは
<!--RULE -->
<xsl:template match="*[cda:templateId/@root = $templateObservationMedia]" priority="1000"
mode="M62">
これは$templateObservationMedia
変数であり、
警告: XSLTProcessor::importStylesheet(): 述語のコンパイルに失敗しました
これを機能させるには、少なくともこれらの問題を修正する必要があります。一致パターン内での変数の使用は XSLT 1.0 ではないため、少なくとも回避する必要があります。変数/一致の問題に関する詳細な説明については、XSLTProcessor::importStylesheet() での複数の PHP 警告を参照してください。