Как перейти от схемы xsd к объекту Actionscript (Flex) во время выполнения? - PullRequest
2 голосов
/ 09 июня 2009

Я видел вопросы , здесь спрашивающие об объектах xsd-> actionscript, но, похоже, они требуют xsd-> java-> actionscript и все в исходном коде Наши требования немного другие:

  1. получает xsd во время выполнения, которого мы никогда раньше не видели
  2. Создать экземпляр объекта на основе xsd
  3. заполнить значения экземпляра (из документа xml или пользовательского ввода - как угодно)

Кто-нибудь знает библиотеку actioncript или инструмент, который поможет нам сделать это во время выполнения? Было бы неплохо, если бы что-то подобное уже существовало, но мы наверняка остановимся на библиотеке, которая предоставит нам программный интерфейс для извлечения информации из схемы xsd. Кроме того, мы будем принимать предложения по альтернативным методам для достижения тех же целей.

1 Ответ

5 голосов
/ 10 июня 2009

Вы смотрели на SchemaLaoder ...? Не совсем то, что вы ищете ... Но отличное начало.

Сначала - вы должны проверить эту запись в блоге и эту запись в блоге, которая проведет вас через Доминик Де Лоренцо опыт использования функциональности в Flex SDK, который предоставляет автоматическое сопоставление пользовательских классов ActionScript с определениями элементов в XML-схеме (XSD).

Шаги для перехода сюда (из блога Доминика):

0) Создайте экземпляр SchemaLoader и асинхронно загрузите схему XML с заданного URL-адреса.
1) После загрузки схемы добавьте ее в SchemaManager и зарегистрируйте все классы ActionScript в соответствующем типе схемы.

---- На этом этапе вы можете выполнить несколько операций на основе схемы

2) Загрузить файл XML на основе этой схемы
3) После загрузки XML декодируйте содержимое с помощью XMLDecoder. Любые классы, зарегистрированные в schemaTypeRegistry, будут использоваться при декодировании xml
4) Кодирование пользовательского класса ActionScript обратно в XML с использованием XMLEncoder. XMLEncoder.encode () поддерживает различные способы определения соответствующего элемента в схеме (элемент верхнего уровня, определенный тип или даже пользовательское определение XSD), который будет использоваться для кодирования объекта Actionscript.

В записи блога есть ссылки на примеры кода и т. Д. *

Надеюсь, это поможет.

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