Явно показывать пространство имен по умолчанию для элемента в выводе - PullRequest
0 голосов
/ 02 мая 2018

Я нахожусь в ситуации, когда мне нужно явно показать пространство имен по умолчанию для одного конкретного элемента в выводе, кроме корневого. В моем текущем решении пространство имен по умолчанию показывается на корневом узле.

В моем XSLT я добавил пространство имен к узлу, где оно необходимо, но оно не отображается в выходных данных.

<MessageParts xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">

Это пространство имен совпадает с корневым, поэтому оно не отображается в выходных данных. Есть ли способ переопределить эту функцию, чтобы она все еще отображалась?

1 Ответ

0 голосов
/ 02 мая 2018

Нет способа заставить сериализатор XSLT выводить избыточные объявления пространства имен. Общая идея правил сериализации состоит в том, что если различия не видны приложению после синтаксического анализа, нет смысла беспокоиться о них. Это также означает, например, что вы не можете контролировать порядок атрибутов в элементе.

Технически в XSLT 1.0 вы также не можете контролировать выбор префиксов пространства имен, но на практике все известные процессоры XSLT уважают ваш выбор префиксов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...