2016-09-19 2 views
0

Я хотел бы создать проект VS, который я могу использовать в качестве инструмента отладчика для xslt-кода. Я загрузил xml-схему, а также файл xslt. используя класс XslTransform, я могу вызвать XslTransform.Transform, проходящую в xml, но я не могу ударить точку прерывания, которую я добавил в файл xslt?XSLT Transformer VS Debugger

ответ

0

Насколько я знаю, вам необходимо использовать XslCompiledTransform, а не XslTransform. И вы должны использовать new XslCompiledTransform(true) конструктор https://msdn.microsoft.com/en-us/library/ms163418(v=vs.110).aspx, дополнительно следующие условия

  • Лист стиля передается методе Load либо как URI, или реализация класса XmlReader, который реализует интерфейс IXmlLineInfo. Интерфейс IXmlLineInfo реализован на всех объектах XmlReader, анализирующих текст.

  • Другими словами, если таблица стилей загружается с использованием объекта IXPathNavigable, такого как XmlDocument или XPathDocument, или реализации XmlReader, которая не реализует интерфейс IXmlLineInfo, вы не можете отлаживать таблицу стилей.

  • XmlResolver, используемый для загрузки таблицы стилей, представляет собой XmlResolver на основе файлов, например XmlUrlResolver (это XmlResolver по умолчанию, используемый классом XslCompiledTransform).

  • Таблица стилей расположена на локальном компьютере или в интранете.

должно быть правдой.

+0

Когда я использовал XslCompiledTransform, это ошибка, которую возвращает текст Token Text в состоянии Start, приведет к недопустимому XML-документу. Убедитесь, что для параметра ConformanceLevel установлено значение ConformanceLevel.Fragment или ConformanceLevel.Auto, если вы хотите написать фрагмент XML. –

+0

Я думаю, что конкретная проблема отладки лучше описывается кодом в отдельном вопросе. Ошибка звучит так, как будто вы где-то создаете фрагмент документа, где код ожидает хорошо сформированный документ с одним корневым элементом. Если вы хотите исправить это в XSLT или на уровне API C#, я не знаю, я думаю, вы должны предоставить информацию о том, что у вас есть в новом вопросе. –

Смежные вопросы