VBScript: проблемы с размещением встроенной схемы в XML с использованием MSXML DOM

Уважаемые коллеги по обмену,

Для проекта я должен создать XML-файл ранее определенного формата, который включает в себя встроенную схему. Затем этот XML-файл связывается с другим программным обеспечением, запущенным на другом компьютере.

Скрипт работает на HMI, которая иногда влияет на точные возможности.

Я не хочу проверять xml, я просто хочу включить (желательно из файла.xsd) встроенную схему.

Я пытался найти достойный способ, но не наткнулся на какие-либо методы, которые должны быть использованы для этого. Я успешно выполнил данные XML, но не со встроенной схемой.

В основном я пытался найти подходящий метод, который привел к попытке использовать 'textattribute'. Чтение файла.xsd с помощью 'opentextfile', преобразование содержимого в строку и последующее использование этой строки для добавления в качестве атрибута textattribute.

Поскольку я считаю, что это может быть жизнеспособным, я также столкнулся с проблемой, что <,> преобразуется в <,>я еще не нашел решения для этого, и я хотел бы избежать попыток написать сценарий построения полная схема... Как это уже было построено полностью.

Я прошу прощения за неопределенность, пожалуйста, прокомментируйте, как сформулировать мой вопрос более четко, если это необходимо.

Привет

1 ответ

Поскольку ваша проблема касается XML, "textattribute", "opentextfile" и "to string", очевидно, являются плохими понятиями / идеями.

Позволять oXml1 быть вашими данными Msxml2.DOMDocument (только что создан / загружен) и oXsd1 ваша загруженная схема. затем

  Dim r : Set r = oXml1.documentElement
  r.insertBefore oXml1.createComment("END OF SCHEMA"), r.firstChild
  r.insertBefore oXsd1.documentElement, r.firstChild
  r.insertBefore oXml1.createComment("START OF SCHEMA"), r.firstChild

даст вам что-то вроде

<?xml version="1.0"?>
<catalog xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:x="urn:book">
        <!-- START OF SCHEMA -->
        <xsd:schema targetNamespace="urn:book">
                <xsd:element name="book">
                        <xsd:complexType>
                                <xsd:sequence>
                                        <xsd:element name="author" type="xsd:string"/>
                                        <xsd:element name="title" type="xsd:string"/>
                                </xsd:sequence>
                                <xsd:attribute name="id" type="xsd:string"/>
                        </xsd:complexType>
                </xsd:element>
        </xsd:schema>
        <!-- END OF SCHEMA -->
        <x:book id="bk101">
                <author>Gambardella, Matthew</author>
                <title>XML Developer's Guide</title>
        </x:book>
</catalog>
Другие вопросы по тегам