SQL Server FOR XML PATH: установите xml-объявление или инструкцию обработки «xml-stylesheet» сверху

Я хочу установить инструкцию обработки для включения таблицы стилей поверх XML:

Та же проблема была с объявлением xml (например,<?xml version="1.0" encoding="utf-8"?>)

Желаемый результат:

<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<TestPath>
  <Test>Test</Test>
  <SomeMore>SomeMore</SomeMore>
</TestPath>

Мои исследования привели меня ктест узла синтаксис иprocessing-instruction().

это

SELECT 'type="text/xsl" href="stylesheet.xsl"' AS [processing-instruction(xml-stylesheet)]
      ,'Test' AS Test
      ,'SomeMore' AS SomeMore
FOR XML PATH('TestPath')

производит это:

<TestPath>
  <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
  <Test>Test</Test>
  <SomeMore>SomeMore</SomeMore>
</TestPath>

Все подсказки, которые я нашел, подсказывают мне преобразовать XML в VARCHAR, объединить его «вручную» и преобразовать обратно в XML. Но это - как бы сказать - безобразно?

Это работает очевидно:

SELECT CAST(
'<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<TestPath>
  <Test>Test</Test>
  <SomeMore>SomeMore</SomeMore>
</TestPath>' AS XML);

Есть ли шанс решить это?

Ответы на вопрос(2)

Ваш ответ на вопрос