Я создаю приложение, которое использует XSLT для преобразования входящих XML-сообщений. У меня есть несколько XSLT, некоторые из которых включают в себя другой XSLT.Включите встроенный 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 XSLT в C#?