
json отличие от xml ................................................................................. |
2 |
Xhtml......................................................................................................... |
3 |
DOM / sax парсер .................................................................................... |
4 |
RDF ........................................................................................................... |
5 |
OVL семантическая паутина.................................................................. |
5 |
XQuery ...................................................................................................... |
7 |
чем foreach отличается от match в Xsl .................................................. |
7 |
json отличие от xml
Xml - расширяемый язык разметки. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Расширение XML — это конкретная грамматика, созданная на базе XML и представленная словарѐм тегов и их атрибутов, а также набором правил, определяющих какие атрибуты и элементы могут входить в состав других элементов.
JSON - текстовый формат обмена данными, основанный на JavaScript.
За счѐт своейаконичностил по сравнениюXML, форматс JSON может быть более подходящимсериализациидля сложных структур. Если говорить- о приложениях, в таком ключе он уместен в задачах обмена да браузером и серверомAJAX), (так и между самими серверами (прогр
HTTP-сопряжения).
С JSON гораздо удобнее работать на JS, чем с XML, да и, например, на PHP тоже, и для других современных языков тоже есть библиотеки, поэтому приоритетнее поддержка JSON, но если API будет пользоваться большая аудитория, или будут клиенты, использующие инструменты вроде Delphi 7, то нужна и поддержка XML.
|
Json |
|
|
Xml |
|
|
Простой синтаксис, которы |
|
Обобщенная разметка; можн |
||
|
к уменьшениюнакладных расход |
|
"диалекты"любыхдля целей. |
||
|
"разметки" по сравнению с |
|
XML Schema для типа данных, |
||
|
Прост в использовании с J |
||||
|
проверки структуры. Делае |
||||
|
так как разметка представ |
|
возможным создание новых |
||
|
подмножество буквенной но |
|
данных. |
||
|
объекта JS и имеет те же |
|
XSLT для преобразованияев |
||
|
типы данных, что и JavaSc |
||||
|
|
выходные форматы |
|||
|
|
|
|
||
|
Простой синтаксис поддерж |
|
XPath/XQuery для извлечения |
||
|
толькоесколькон |
различных т |
|||
|
|
информация в глубоко влож |
|||
|
данных. |
|
|
||
|
|
|
структурах. |
||
|
|
|
|
||
|
Схема JSONдля описания и пр |
|
встроенная поддержка прос |
||
|
типов данных и структуры |
||||
|
|
имен |
|||
|
|
|
|
||
|
JsonPath для извлечения и |
|
Относительно многословныйпо |
||
|
в глубоко вложенных струк |
||||
|
|
сравнению с JSON (приводи |
|||
|
|
|
|
||
|
|
|
|
большему количеству данны |
|
|
|
|
|
же объем информации). |
|
|
|
|
|
|

Оба они могут быть использованы для передачи данных. Естественно, для работы с обоими стандартами используются различные фреймворки, отличается синтаксис.
Фреймворки Json:
0.Jackson от FasterXML
1.JSON.simple от Yidong Fang
2.GSON от Google
3.JSONP от Oracle
Фреймворки XML:
0.JAXB (входит в J в JDK)
1. Xstream
https://habrahabr.ru/post/31225/
Работа с XML через DOM, JSON через объект.
Xhtml
Чтобы научить разработчиков «правильному» мышлению, изменить их стиль написания кода, а также сократить разрыв между HTML и XML, и был разработан XHTML, как промежуточный этап между ними.
XHTML (EXtensible HyperText Markup Language, расширяемый язык разметки гипертекста) предназначен для замены HTML и считается его более строгой версией. Вообще, W3C определяет XHTML как последнюю версию HTML, которая постепенно его вытеснит.
Существует несколько требований, которые разработчик обязан выполнять:
в начале документа должен указываться один из возможных DTD (Document Type Definition):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
|
|
в теле XHTML-документа должны обязательно присутствовать следующие тэги: html, head, title и body;
обязательно наличие атрибута xmlns в элементе html;
имена тегов и атрибутов должны записываться в нижнем регистре;
все значения атрибутов должны заключаться в "кавычки";
все тэги должны закрываться; если у элемента нет закрывающего тэга, следует добавлять в его конец слеш (<br/> или <br /> — пробел для совместимости со старыми браузерами);
необходимо соблюдать корректную вложенность тэгов (<b><i>текст</b></i> — неверно; следует писать <b><i>текст</i></b>);
запрещается использовать минимизированные атрибуты (nowrap следует заменить на nowrap="nowrap"); полный список таких
атрибутов: checked, compact, declare, defer, disabled, ismap, noresize, noshade, nowrap, multiple, readonl y, selected.
на следующие элементы налагаются ограничения по включению в них других элементов:
o a не может содержать другие элементы a;
o form не может содержать другие элементы form; o label не может содержать другие элементы label;
o pre не может содержать img, object, big, small, sub или sup;
obutton не может содержать
элементы input, select, textarea, label, button, form, fieldset, iframe или isindex;
специальные символы в истинном значении должны заменяться на свои эквиваленты: o & на &;
o < на <; o > на >.
Кроме того, существует ряд необязательных рекомендаций, которые разработчик не обязан выполнять в версии XHTML 1.0, но в последующих версиях этого языка возможно рекомендации перерастут в требования:
декларация XML-документа в самом начале кода перед DTD (<?xml version="1.0" encoding="windows1251"?>);
следование элемента title сразу после открытия тега head;
использование атрибута id вместо name (name считается устаревшим атрибутом);
наличие атрибута type в элементах подключаемых файлов (таблиц стилей и скриптов);
отказ от использования атрибута target.
DOM / sax парсер
Объектная модель XML-документа, или DOM (Document Object Model) состоит из группы программных объектов, представляющих различные компоненты XML-документа. Свойства и методы этих объектов позволяют использовать сценарии для отображения XML-документа с HTML-страницы.
DOM хранит данные в древообразной структуре, отражающей иерархическую структуру XML-документа, и предоставляет доступ к любым компонентам XML-документа, включая элементы, атрибуты, инструкции по обработке, комментарии и объявления нотаций и примитивов.
Существуют две стратегии обработки XML документов:
DOM (Document Object Model)
SAX (Simple API for XML).
Основное их отличие связано с тем, что использование DOM позволяет читать и вносить изменения в существующий XML-документ, а также создавать новый.
Стратегия использования SAX основывается на том, что содержимое XMLдокумента только анализируется.
XML-текст может быть больших размеров: DOM должен весь документ «заглотить» и проанализировать, а SAX-парсер обрабатывает XML-документ последовательно и не требует дополнительной памяти.
SAX parser
Event-driven парсинг
код обрабатывает события такие как: найден начальный тег, найден атрибут, найден конечный тег.
Быстрый по производительности, и простой по реализации
Тяжело написать сложную логику
DOM parser
формируется дерево объектов из элементов с атрибутами;
дерево хранится в памяти, его можно крутить и изменять как угодно, удобно работать со сложными структурами
удобно вычислять XPATH функции
в целях оптимизации некоторые узлы могут не разбираться, пока к ним не обратятся
Pull parser
Среднее между DOM и SAX, парсинг управляется кодом, т.е. ему говорят в какую сторону парсить документ и что вытаскивать.
Хорошая производительность.
Код выходит проще, чем для SAX модели.
RDF
http://citforum.ru/internet/xml/rdf_xml/
Для Интернета будущего, в котором программы смогут автоматически анализировать содержание ресурсов, необходимо новое средство выражения семантики данных, а не только их записи.
Сразу нужно понять RDF – это модель, абстрактная, очень простая, немного в вакууме. Просто направленный граф с несколькими дополнениями и оговорками. А вот записать его можно по разному, обычно выбор падает на один из вариантов: N3,N-Triples, Turtle,RDF/XML,RDFa и используемую спецификацию придется изучить.
С помощью RDF можно описать как документы, отдельные фрагменты знаний внутри документа, так и объекты реального мира, например конкретного живого человека. Идентифицируется все с помощью URI.
RDF (Resource Description Framework) — это модель данных, используемая для представления ресурсов т.н. семантической паутины (semantic web).
OVL семантическая паутина
Семантическая паутина — это надстройка над существующей Всемирной паутиной, придуманная для того, чтобы сделать размещаемую в Интернете информацию пригодной для машинной обработки. Доступная в сети информация удобна для прочтения человеком. Семантическая паутина создана для того, чтобы сделать информацию

пригодной для автоматического анализа, синтеза выводов и преобразования как самих данных, так и сделанных на их основе заключений в различные представления, полезные на практике.
Машинная обработка возможна благодаря двум характеристикам семантической паутины:
наличию URI;
использованию семантических сетей и онтологий.
URI — унифицированный идентификатор ресурса или адрес, используемый для указания ссылок на какой-либо объект (например, веб-страницу, файл или
ящик электронной почты). URI используются для именования объектов. Каждый объект глобальной семантической сети имеет уникальный URI. URI однозначно называет некоторый объект. Отдельные URI создают не только для страниц, но и для объектов реального мира (людей, городов, художественных произведений и так далее), и даже для абстрактных понятий (например, «имя», «должность», «цвет»). Благодаря уникальности URI одни и те же предметы можно называть одинаково в разных местах семантической паутины. Используя URI, можно собирать информацию об одном предмете из разных мест. Рекомендуется включать в адрес URI название одного из протоколов Всемирной паутины (HTTP или HTTPS). То есть адрес URI рекомендуют начинать с « http:// » или
« https:// »). Такой адрес можно одновременно использовать как адрес URI и как адрес
веб-страницы (URL). На веб-страницах, адреса URL которых совпадают с URI, W3C
рекомендует размещать описание предмета. Описание желательно предоставлять в двух форматах[5]:
в формате, удобном для чтения человеком;
в формате, удобном для чтения машиной.
Использование семантических сетей и онтологий. Данные во Всемирной паутине, как правило, представлены в виде текста, записанного на естественных языках. Такие тексты предназначены для восприятия человеком, но машина может понять их смысл, используя один из методов обработки естественного языка. Методы выполняют частотный анализ и/или лексический анализ текста.
В качестве формата, удобного для чтения машиной, W3C предлагает
использовать язык RDF. Язык RDF позволяет описывать структуру семантической сети в виде графа. Каждому узлу и каждой дуге графа можно назначить отдельный URI. Утверждения, записанные на языке RDF, можно интерпретировать с помощью онтологий. Для создания онтологий рекомендуют использовать языки RDF Schema (англ.) и OWL. Онтологии создаются для получения из данных логических заключений. В основе онтологий лежат математические формализмы, называемые дескрипционными логиками.
Архитектура:
Техническую часть Семантической паутины составляет семейство стандартов на языки описания, включающее XML, XML Schema, RDF, RDF Schema, OWL, а также некоторые другие. Располагая их в порядке повышения уровня абстракции, реализуемого тем или иным языком, получаем:
XML — предоставляет возможности создания структурированных документов, но не предъявляет к ним никаких семантических требований;
XML Schema — определяет структуру XML документов и дополнительно позволяет использовать конкретные типы данных;
RDF — предоставляет возможность описывать абстрактные модели данных некоторых объектов и отношения между ними. Использует простую семантику на основе XML синтаксиса;
RDF Schema — позволяет описывать свойства и классы RDF — ресурсов, а также семантику отношений между ними;
OWL — расширяет описательные возможности предыдущих технологий. Позволяет описывать отношения между классами (к примеру непересекаемость), кардинальность (например «точно один»), симметрия, равенство, перечисляемые типы классов.
Микроданные (HTML microdata) — это международный стандарт семантической разметки HTML-страниц, с помощью атрибутов, описывающих смысл информации, содержащейся в тех или иных HTML-элементах. Такие атрибуты делают контент страниц машиночитаемым, то есть позволяют в автоматическом режиме находить и извлекать нужные данные.
RDF (Resource Description Framework) язык описания метаданных ресурсов, главной его целью является представление утверждений в виде одинаково хорошо воспринимаемом как человеком, так и машиной.
Атомарным объектом в RDF является триплет: субъект — предикат — объект. Считается, что любой объект, можно описать в терминах простых свойств и значений этих свойств.
OWL (Web Ontology Language)язык Веб онтологий, созданный для представления значения терминов и отношения между этими терминами в словарях. В отличии от RDF, данный язык использует более высокий уровень абстракции, что позволяет языку наряду с формальной семантикой использовать дополнительный терминологический словарь. Важным преимуществом OWL является то, что его основу положена чѐткая математическая модель дескрипционных логик
XQuery
XQuery — язык запросов, разработанный для обработки данных в формате XML. XQuery использует XML как свою модель данных.
XQuery во многом отличается от SQL, главным образом, потому, что эти языки разрабатывались для работы с различными моделями данных, имеющими разную структуру. Документ в формате XML содержит иерархии, для него характерен внутренний порядок. Табличные структуры данных, поддерживаемые СУБД на базе SQL, являются однородными и линейными, строки, как таковые, неупорядочены.
чем foreach отличается от match в Xsl
https://htmlweb.ru/xml/xslt1.php
xsl:template
В шаблоне select шаблон описывает работу запроса из конкретного узла для поиска нового набора узлов.
Чтобы система понимала для чего предназначен этот шаблон, у данно атрибутmatch, где прописываем название узла, который мы обрабатываемлучае
Элемент<xsl:for-each> позволяет организовывать циклы в процессе XSLT пр
Также, можно осуществлять фильтрацию вывода из XML файла. Для это нужный критерий к selectатрибутуэлемента<xsl:for-each>.