Windows xml parser

Или как починить MSXML-парсер.
Притащила одна бухгалтерша ноутбук с установленной на нём программой 1С версии 7.7. В этой старой 1С-ке не формировались бухгалтерские отчёты, при этом 1С-ка выдавала следующее сообщение об ошибке: «Компонента V7Plus : Ошибка инициализации XML Parser».
Перед этим она мне звонила, спрашивала, не знаю ли я как решить эту проблему, и я не знал, но был готов попробовать. Однако её шеф решил позвать 1С-ников. По словам бухгалтерши к ней поочереди приходили трое специалистов по 1С, но с мёртвой точки дело не сдвинулось. Пришла моя очередь :).
Я с такой проблемой никогда не сталкивался, и начал с найденных в интернете рекомендаций переустановить msxml-парсеры. Не знаю, почему, но везде, где рассматривалась эта проблема (из тех мест, что я нашёл), «знающие» люди говорили, что седьмая 1С-ка работает только с третьей версией xml-парсера, поэтому они рекомендовали удалить четвёртый и более новые, а третий переустановить. Кое где предлагали переустановить и третий и четвёртый парсер. Я это, конечно, всё попробовал, но это не помогло. По следам в системе я обнаружил, что это всё перепробовал не только я.
После этого я попробовал зарегистрировать в системе dll-ку V7Plus.dll, которая идёт с 1С-кой (на одном из форумов какой-то товарищ предлагал это сделать, сказав, что «иногда регистрация соскакивает»). «Ну давай, попробуем», — подумал я, и набрал команду «regsvr32 v7plus.dll». «Хрен тебе» — сказал мне 64-ёх битный Windows-7. Точнее, конечно, Windows сказал, что он просто не видит такую dll-ку, но я сразу перевёл на человеческий. Ладно. Попробовал засунуть эту dll-ку в папку system32. «Теперь видишь?» — спросил я Винду той же командой. «Вижу» — ответила Винда, — «но всё равно, эта dll-ка мне не нравится». Точнее, она выдала ошибку, что на этой версии Винды такая dll-ка работать не будет.
Стал искать, как решить эту проблему. Оказалось, что в 64-ёх битной Винде есть не один, а два файла «RegSvr32.exe», один в папке «%systemroot%\System32\», это 64-ёх битная версия, и ещё один — в папке «%systemroot%\SysWoW64\» — эта 32-ух битная версия. Попробовал скопировать файл «V7Plus.dll» в папку «%systemroot%\SysWoW64\» и дать винде команду «%systemroot%\SysWoW64\regsvr32.exe v7plus.dll». Съела. «Опаньки!» — подумал я, и начал выяснять, что у нас с xml-парсером в 32-ух-битной части Винды. Дал ей команду «%systemroot%\SysWoW64\regsvr32.exe /u msxml3.dll» — нормально. Винда сообщила, что операция прошла успешно. Вернул регистрацию командой «%systemroot%\SysWoW64\regsvr32.exe msxml3.dll». Успешно. Следующая команда «%systemroot%\SysWoW64\regsvr32.exe /u msxml4.dll» выявила проблему. Винда сказала, что в упор не видит dll-ку, которая конечно же лежала в папке «%systemroot%\SysWoW64\». Попробовал регистрацию этой dll-ки командой «%systemroot%\SysWoW64\regsvr32.exe msxml4.dll» — Винда сказала, что при регистрации dll-ки произошла ошибка.
Стало понятно, что проблема в этой «%systemroot%\SysWoW64\msxml4.dll». Благо у меня под рукой оказалась седьмая винда, только 32-ух-битная. Залез в неё, чтобы скопировать оттуда правильную dll-ку. Msxml-парсера четвёртой версии там не оказалось, пришлось его туда установить (отсюда), после чего правильные файлы («msxml4.dll» и «msxml4r.dll») были скопированы в папку «%systemroot%\SysWoW64\» 64-ёх-битной Винды вместо неправильных. Неправильных файлов, к слову сказать, оказалось больше — «msxml4.dll», «msxml4a.dll», «msxml4r.dll» и «msxml4.inf», при этом «msxml4r.dll» и «msxml4.dll» отличались по датам создания от неправильных. После помещения правильных файлов в нужную папку команда «%systemroot%\SysWoW64\regsvr32.exe msxml4.dll» прошла на ура, после чего 1С-ка заработала как миленькая. К слову сказать, регистрировать dll-ку «V7Plus.dll» скорее всего не надо. Убеждаться в этом мне было лень.
После обновления винды отличным от правильного оказался только один файл — «msxml4r.dll». 1С-ка работает и после обновления. Фуф. Какая из программ испортила «XML Parser» выяснить не удалось.Tags: Братьям по орудию, Ненавижу Microsoft

Библиотека Microsoft XML Parser

Основные характеристики:

  • Платформы: MS Windows.

  • Расширения: функции расширения на JavaScript и VBScript.

  • Полнота реализации: один из наиболее проработанных процессоров.

  • Разработчик: Microsoft Corporation.

  • URL: http://msdn.microsoft.com/xml.

Продукт, названный Microsoft XML Parser на самом деле далеко не только парсер. MSXML — это базовый компонент, объединяющий DOM/SAX-парсер, XSLT-процессор и некоторые другие инструменты. Мы будем рассматривать только XSLT-функциональность.

Компания Microsoft начала проявлять интерес к XSLT уже на самых ранних этапах разработки языка — когда он ещё не был выделен из родительской технологии XSL. Прототип процессора, предложенный Microsoft, был одной из первых рабочих реализаций XSLT. К сожалению, в этом прототипе был реализован ранний диалект языка, не совместимый со стандартной версией XSLT. Он получил большое распространение вместе с браузерами Internet Explorer 4.0, 5.0 и 5.5 и, как результат, множество программистов и по сей день работают с нестандартной версией XSLT, которая описывается пространством имён «http://www.w3.org/TR/WD-xsl». Поддержка стандартного XSLT была реализована в версии MSXML 3.0, которая вышла в марте 2000 года (более полная, production-версия появилась чуть позже, осенью).

Ранний вариант 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 является следующее:

  • при попытке выполнить корректные преобразования, определённые в пространстве имён с URI «http://www.w3.org/1999/XSL/Transform» не происходит ничего или выдаётся ошибка;

  • при попытке выполнить те же преобразования, исправив URI на «http://www.w3.org/TR/WD-xsl», процессор пытается выполнить преобразование, но выдаёт ошибку, о некорректности преобразования (в то время как оно работает на других процессорах);

  • в преобразованиях не работают переменные, именованные шаблоны, шаблоны значений атрибутов, ключи и импортирование.

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

Предостережение

Перед установкой MSXML3 рекомендуется внимательно ознакомиться с документацией на предмет возможности установки в режиме замены. Некоторые программные продукты (такие, как SQL Server и Biztalk Server) используют старую версию XSLT-процессора, и обновление в режиме замены приведёт к нестабильности их работы.

Использование

Так как MSXML уже давно превратился в стандартный компонент Windows, использовать его можно разными способами — например, в собственных приложениях или как ISAPI-расширение. При разработке XSLT-преобразований MSXML, как правило, применяется либо совместно с браузером Internet Explorer, либо как самостоятельная утилита командной строки.

Первый способ заключается в том, что с XML-документом посредством инструкции xml-stylesheet ассоциируется преобразование и Internet Explorer отображает результат преобразования.

Пример П1.1. Входящий документ source.xml

<?xml-stylesheet type=»text/xsl» href=»stylesheet.xsl»?> <date>18.10.2001</date>

Пример П1.2. Преобразование stylesheet.xsl

?xml version=»1.0″ encoding=»windows-1251″?> <xsl:stylesheet version=»1.0″ xmlns:xsl=»http://www.w3.org/1999/XSL/Transform»> <xsl:template match=»/»> <html> <head> <title>Today is page</title> </head> <body> <xsl:apply-templates select=»date»/> </body> </html> </xsl:template> <xsl:template match=»date»> <H1> <xsl:text>Сегодня </xsl:text> <xsl:value-of select=».»/> </H1> </xsl:template> </xsl:stylesheet>

Документ 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 нужно выполнить следующую команду:

  • Компонент Ms Xml 4 Sp2

Компонент Ms Xml 4 Sp2

Компонент ‘Microsoft XML Parser’ недоступен. Работа приложения невозможна.’ Приложение работало. Библиотека Microsoft XML 4.0 это набор COM компонентов ОС, который позволяет програмно парсить и создавать XML документы пользуясь всеми возможностями самог формата (нэймспаейсы и т.д.) Качать ее в прынципе не надо, так как она используется и/или устанавлюется с большиством софта МС. Если вдруг ее у Вас нету посмотрите на microsoft/com. Как получить последний пакет обновления для Microsoft XML 4.0. Содержимое, предоставленное.

В dwg узлы кровли из профлиста. Помимо карнизной планки и капельника, устройство карниза крыши из профнастила включает в себя такие элементы, как водосток и нижняя подшивка. Водосток состоит из желобков, которые устанавливаются на крюки, прикрепляемые к обрешетке на саморезы.

Компоненты доступа к данным SQLXML 4.0 — поставщик SQLXMLOLEDB SQLXML 4.0 Data Access Components — SQLXMLOLEDB Provider • • Время чтения: 2 мин • Соавторы • • In this article ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Хранилище данных SQL Azure Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse Microsoft Microsoft SQLXML 4.0 включает в себя три поставщика данных, которые могут вставлять XML-данные и получать XML-данные из базы данных в SQL Server SQL Server. SQLXML 4.0 includes three data providers that can insert XML data into and retrieve XML data from a database in SQL Server SQL Server: • SQLXMLOLEDB, поставщик SQLXMLOLEDB Provider Предоставляет функциональность SQLXML 4.0 через объекты ADO. Exposes SQLXML 4.0 functionality through ActiveX Data Objects (ADO). • управляемые классы SQLXML SQLXML Managed Classes Предоставляет функциональность SQLXML внутри платформы Microsoft Microsoft.NET Framework.

Windows xml parser

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *