XSLT を使用して着信 XML メッセージを変換するアプリケーションを作成しています。複数の XSLT があり、その中には他の XSLT が含まれているものもあります。
たとえば、B.XSLT には、いくつかの共通機能を含む A.XSLT が含まれています。
すべての XSLT を埋め込みリソースとしてマークしたので、実行可能ファイルに埋め込まれます。さて、次のコードを使用して XSLT を読み込んでいると、
using (Stream objXSLTStream = Assembly.GetAssembly(this.GetType()).GetManifestResourceStream("MyNamespace.XSLContainer.Transaction.B.xslt"))
{
using (XmlReader objXSLTReader = XmlReader.Create(objXSLTStream))
{
XslCompiledTransform objXSL = new XslCompiledTransform(true);
objXSL.Load(objXSLTReader);
XmlReader objXMLReader = XmlReader.Create(new StringReader(InputXML));
StringBuilder sbOutputXML = new StringBuilder();
XmlDocument docOutputXML = new XmlDocument();
XmlWriter objXMLWriter = XmlWriter.Create(new StringWriter(sbOutputXML));
objXSL.Transform(objXMLReader, ArgsList, objXMLWriter);
docOutputXML.LoadXml(sbOutputXML.ToString());
return docOutputXML;
}
}
それは私にエラーを与える
パス '..\Bin_Folder_Location\General\A.xslt' の一部が見つかりませんでした。
私の XSLT B では、このステートメントを使用して A.xslt を含めています。
<xsl:include href ="../General/A.xslt"/>
埋め込まれた xslt を C# の別の xslt に含めるための適切な回避策を誰かが提案できますか?