Как XML используется и интерпретируется? - PullRequest
2 голосов
/ 15 февраля 2011

Насколько я понимаю, XML используется для связи между двумя приложениями с использованием пользовательских тегов.

Я провел некоторое исследование и нашел много учебников по XML, но не описывал, где использовать XML.

Насколько я понимаю, XML известен тем, что он удобен для пользователя. Под этим я подразумеваю, что вы можете определить свои собственные теги. Но мне интересно, где и как эти теги интерпретируются?

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

Ответы [ 4 ]

3 голосов
/ 15 февраля 2011

Ваша трудность в понимании того, где XML вписывается в общую картину, является обычной.

Когда вы отправляете кому-либо сообщение электронной почты с вложением Word, задействуется несколько уровней протокола: есть TCP / IP,есть протоколы электронной почты, есть формат документа Word.Но, в конечном счете, ваше сообщение будет означать для получателя только то, что он понимает по-английски и понимает, о чем вы говорите.Word предоставляет стандарт (видов) для формата документов, но для понимания сообщения отправителю и получателю все еще нужен общий словарь для предмета того, что они хотят обсудить.XML вписывается в тот же уровень изображения, что и Word - он стандартизирует формат сообщений, но дает пользователям возможность самостоятельно выбирать словари.Существует много словарей, которые были стандартизированы поверх XML (для финансовых сообщений, графики SVG, музыки, математических формул и т. Д. И т. Д.), Но преимуществом XML является то, что вы можете использовать его для любого словаря, который вам нравится, но при этом получатьПреимущества общего формата и синтаксиса ниже.

Но так же, как вы можете отправить документ Word тому, кто его не понимает, потому что он не говорит по-английски, так вы можете отправить документ XML, содержащий, скажем,Финансовые данные XBRL тому, кто их не поймет, потому что не знает словаря XBRL.

0 голосов
/ 15 февраля 2011

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

Когда мы попадаем в сам код приложения, наиболее удобно работать с естественными конструкциями языков. Например:

<Order>
       <Customer name="bill" phone="123-345456" >   
       etc.       
</Order>

В некоторых средах (например, в продуктах Enterprise Service Bus) вы фактически работаете с XML, определяя преобразования XML. Таким образом, вы можете поискать различные продукты ESB и прочитать о них. Я работаю в IBM и Sos. Я знаком с WebSphere ESB и довольно интересно, что есть продукты для аппаратной обработки XML, например, IBM DataPower *. 1009 *, что действительно может ускорить обработку XML.

Но на обычных языках программирования очень удобно писать код приложения против конструкций программирования, представляющих данные, поэтому в Java нам нужен класс Order, класс Customer и т. Д.

Затем, преобразовав XML в объекты, мы можем просто написать естественный код, такой как

 customer.getName()

Таким образом, разные среды программирования будут по-разному относиться к таким преобразованиям. В мире Java было несколько подходов к этому сопоставлению между XML и Java. В наши дни все чаще используется JAX / B, у меня есть краткий пример в этой статье , где вы увидите, что для выполнения преобразования очень мало кода для написания.

0 голосов
/ 15 февраля 2011

Ваш вопрос звучит так, как будто вы сравниваете XML с html и удивляетесь, как браузер может угадать значение самих определяемых тегов.На самом деле это не может.Вы должны написать скрипт перевода в XSLT и подключить его к своему XML-файлу (например, Вывод XML - PHP против JS против чего-либо еще? ).Конечно, XML - это не инструмент только для добавления шага перевода.В этом случае его следует использовать, когда вы хотите создавать HTML-страницы из необработанных данных.

0 голосов
/ 15 февраля 2011

XML расшифровывается как расширяемый язык разметки . Он предоставляет набор правил для структурирования и кодирования документов в машиночитаемой форме.

XML говорит о синтаксисе ваших документов и взаимосвязи между объектами в ваших документах, но мало о семантике или значении документов или объектов в документах.

Семантика - или, как вы говорите, как они интерпретируются - фиксируется в коде, который обрабатывает документы.

Обязательные среды программирования предоставляют один или несколько способов обработки - анализа - содержимого XML. Но, как отмечалось выше, интерпретация остается в руках приложения после его анализа.

Например, Ruby Programming Language имеет несколько доступных анализаторов XML. Два из них REXML и XmlSimple .

Помните, синтаксический анализатор XML помогает вам с синтаксисом документа, но смысл зависит от вашего кода и от того, как вы интерпретируете содержание и структуру документа.

Например, следующий документ может представлять много вещей, но мой код будет интерпретировать его как файл конфигурации, который определяет набор серверов, их ОС, версию ОС и IP-адреса.

<config logdir="/var/log/foo/" debugfile="/tmp/foo.debug">
    <server name="sahara" osname="solaris" osversion="2.6">
      <address>10.0.0.101</address>
      <address>10.0.1.101</address>
    </server>
    <server name="gobi" osname="irix" osversion="6.5">
      <address>10.0.0.102</address>
    </server>
    <server name="kalahari" osname="linux" osversion="2.0.34">
      <address>10.0.0.103</address>
      <address>10.0.1.103</address>
    </server>
  </config>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...