Каковы различия между отображением, связыванием и анализом?
Я начинаю изучать веб-сервисы в Java EE6.
Я занимался веб-разработкой раньше, но никогда не имел ничего общего с веб-сервисами.
Все новое для меня, и книги и учебники, которые я нахожу в Интернете, являются техническими.
Я начал изучать схемы.xsd, а также.xml.
В этой теме я чувствую себя уверенно, я понимаю, для чего используются схемы и что означает проверка.
Теперь мой следующий шаг - изучение JAX-B(Java Api для привязки XML). Я немного покатался по этому поводу, и я также немного попрактиковался в моей IDE. Но у меня есть много основных сомнений, которые заставляют меня застрять, и я не могу чувствовать себя уверенно, чтобы перейти к следующей теме.
Я буду очень признателен, если кто-нибудь сможет мне хорошо объяснить мои сомнения:
- Что значит картирование и что такое инструмент картирования?
- Что означает связывание и что такое инструмент связывания?
- Что означает разбор и что такое инструмент разбора?
- Как JAX-B связан с отображением, связыванием и анализом?
Я ищу хороший ответ, созданный вами, а не просто копию из Google(я уже был в сети несколько часов и только запутался).
2 ответа
Исходя из того, что я понимаю..
Что значит картирование и что такое инструмент картирования?
В случае Java/XML отображение - это не что иное, как представление объектной модели Java в представлении документа XML (и наоборот). Инструмент отображения позволит вам конвертировать из одного формата в другой. Это просто шаг определения.
Что означает связывание и что такое инструмент связывания?
Привязка - это процесс конвертации XML-документа в объектную репрезентацию (при запуске приложения). Связывание достигается с помощью демаршаллинга.
Что означает разбор и что такое инструмент разбора?
Парсинг читает входной поток данных и проверяет, соответствует ли поток данных определенной грамматике. Инструменты синтаксического анализа потребляют поток данных и генерируют ошибки, когда данные не соответствуют грамматике, которую проверяет инструмент. Он также будет генерировать события, чтобы указать, что он получил определенные "токены" из потока. В сценарии Java/XML есть несколько типов синтаксических анализаторов, таких как DOM, StAx, SAX...
Как JAX-B связан с отображением, связыванием и анализом?
JAXB картирование:
это когда вы используете xjc для генерации иерархии java-классов на основе XSD. Отображение происходит, когда классы генерируются с помощью аннотаций JAXB. Инструментом отображения в сценарии является xjc.
JAXB Связывание:
Происходит, когда приложение отменяет маршализацию XML-документа в объект Resresanation (JAXBElement) unmarshaller.unmarshal(
new File("some.xml"));
Разбор:
чтобы преобразовать XML-документ в репрезентацию объекта, движок JAXB должен сначала "проанализировать" xml-документ, чтобы убедиться в его корректности, а затем токенизировать для создания объектов java. Это происходит внутренне, и вы не контролируете его, не гарантируете правильность и не используете токены для создания объектов Java.
Настоятельно рекомендую, чтобы вы получили копию " Запущенные и работающие веб-службы Java" и начали с главы 1 и начали с нее. Это не просто и не интуитивно понятно, будьте готовы к долгому обучению. Заметка. Все связующие вещи просто смущают вас, если у вас нет базового понимания того, как работают все части.