Повнота реалізації: один з найбільш опрацьованих процесорів.
Розробник: Microsoft Corporation.
Продукт, названий Microsoft XML Parser насправді далеко не тільки парсер. MSXML - це базовий компонент, який об'єднує DOM / SAX-парсер, XSLT-процесор і деякі інші інструменти. Ми будемо розглядати тільки XSLT-функціональність.
Ранній варіант XSLT, реалізований в MSXML 2.0 і нижче має схожі з XSLT 1.0 принципи, але також і цілий ряд несумісних відмінностей. Слід швидше сказати, що WD-xsl - це інша мова і програмувати на ньому теж слід по-іншому. Для того щоб використовувати стандартний XSLT в MSXML, слід оновити цей компонент, завантаживши нову версію з web-сайту Microsoft. Однак, і це ще не все. Справа в тому, що Microsoft не відмовилася від старої нестандартної версії і MSXML 3.0 підтримує її нарівні з XSLT 1.0. Більш того, за замовчуванням, MSXML встановлюється в так званому side-by-side режимі (англ. Side-by-side - пліч-о-пліч). Це означає, що знову встановлений компонент не заміняють попередню версію повністю. Тому встановлювати MSXML слід в режимі заміни - по закінченню установки слід скористатися утилітою xmlinst.exe також доступною з web-сайту Microsoft для того, щоб повністю замінити стару версію.
Типовими симптомами не до кінця оновленої версії MSXML є наступне:
в перетвореннях не працюють змінні, іменовані шаблони, шаблони значень атрибутів, ключі та імпортування.
У разі виявлення подібних ознак єдиним радою є оновлення версії MSXML в режимі заміни.
застереження
Перед установкою MSXML3 рекомендується уважно ознайомитися з документацією на предмет можливості установки в режимі заміни. Деякі програмні продукти (такі, як SQL Server і Biztalk Server) використовують стару версію XSLT-процесора, і оновлення в режимі заміни призведе до нестабільності їх роботи.
Використання
Так як MSXML вже давно перетворився в один зі стандартних компонентів Windows, використовувати його можна різними способами - наприклад, у власних додатках або як ISAPI-розширення. При розробці XSLT-перетворень MSXML, як правило, застосовується або спільно з браузером Internet Explorer, або як самостійна утиліта командного рядка.
Перший спосіб полягає в тому, що з XML-документом за допомогою інструкції xml-stylesheet асоціюється перетворення і Internet Explorer відображає результат перетворення.
Приклад П1.1. Вхідний документ source.xml
Приклад П1.2. перетворення stylesheet.xsl
Документ source.xml буде відображений в браузері Internet Explorer наступним чином (рис П1.4):
Малюнок П1.4. Документ source.xml, відображений браузером Internet Explorer
Іншим, варіантом є використання утиліти командного рядка msxsl.exe. яка також доступна на web-сайті MSDN. Ця утиліта є не більше ніж оболонка для MSXML, що дозволяє викликати основний компонент з командного рядка.
Використання msxsl.exe абсолютно стандартно: для застосування перетворення stylesheet.xsl до документа source.xml і виведення результату у файлі result.xml потрібно виконати наступну команду: