Программирование в xml: что это и для чего нужен eXtensible Markup Language

Что такое XML — Журнал «Код» программирование без снобизма

Когда мы говорили о разметке в Маркдауне, то там смысл был такой: есть текст, а мы его размечаем специальными символами, чтобы он хорошо выглядел. Теперь перейдём на этап выше — будем форматировать данные на уровне логики с помощью XML.

👉 XML нужен для работы с техническим текстом, где всё строго, упорядоченно и логично. Его, конечно, можно применить и к художественному тексту, но выйдет так себе.

Что такое XML

XML — это сокращение от eXtensible Markup Language, а переводится это как «Расширяемый язык разметки». Смысл XML в том, чтобы выстроить внутри документа логическую структуру — чтобы было видно, что к чему относится и как всё связано между собой, в каком формате представлены данные.

С помощью XML можно:

  • записать оргструктуру компании или любую другую иерархию — «этот подчиняется тому»;
  • разметить текст по смыслу — «тут важное, там второстепенное, вот это поясняет вон то»;
  • хранить типовые данные — например, имена артистов, названия их альбомов и треки; или настройку какой-нибудь программы, или скрипты;
  • разметить веб-страницу по смыслу и отдать эту разметку алгоритму, который сам нарисует дизайн;
  • разметить текст для дальнейшего машинного обучения;
  • хранить результаты работы программ, которые работают с текстом — например, ничто не мешает текстовым редакторам хранить документы со всем оформлением в формате XML.

И многое другое, где нужен порядок, структура и работа с текстовыми данными. 

Сила XML

Сила XML в том, что данные здесь представляются как обычный текст, размеченный тегами (как в HTML). Например, чтобы записать оргструктуру компании в XML, не нужно рисовать схему в графическом редакторе, достаточно правильно разметить текст с именами и должностями. Файлики получаются маленькими, из легко обрабатывать. 

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

Если XML хорошо составлен, его также может понять человек.

Как устроен XML

Внешне XML очень похож на HTML — в нём тоже всё пишется в угловых скобках, есть закрывающие теги и параметры: аналоги классов и стилей. Но, в отличие от HTML, здесь нет обязательных тегов или вообще каких-то обязательных элементов. Объясним, как это работает, на примере.

Допустим, у нас есть такой текст, из которого нужно сделать XML-документ:

«По состоянию на 21 октября 2021 журнал Код работает и в редакции есть главред Максим Ильяхов и автор Михаил Полянин»

Первое, что нам нужно сделать — написать в документе, что перед нами именно XML:

<!--?xml version="1.0"?-->

Этот параметр говорит, что ниже будет XML-разметка. Иначе программа-обработчик не будет знать, что с ним делать — рисовать как HTML или выводить как просто текст?

Внутри XML-документа всегда есть корневой элемент — внутри него лежит всё остальное. Так как в XML мы придумываем названия для разметки сами, то пусть этот элемент будет называться actual (это название может быть любым): 

<?xml version="1.0"?>
<actual>
	<!-- содержимое корневого элемента -->
</actual>

👉 Комментарии в XML такие же, как в HTML.

Теперь разбираем содержимое. Первое, что мы видим в документе, — это дата, поэтому можем сделать отдельный раздел со статусом издания. В него будет входить значение Active (издание работает) и два параметра — дата последней проверки и статус этой проверки. Сам элемент мы назовём status:

<?xml version="1.0"?>
<actual>
	<!-- содержимое корневого элемента -->
	<status lastUpd = "21.10.2021" checked = "true">
		Active
	</status>
</actual>

Это очень похоже на стили и классы в HTML, но работает иначе: мы просто указываем параметры и их значения, а не подключаем какие-то внешние данные или правила.

Также вы могли заметить, что мы пишем дату в нестандартном формате (с точки зрения компьютера). Так можно: если мы потом будем писать обработчик этого XML, мы сможем научить его читать именно этот формат даты. 

Это история о том, что XML — это просто полочки, на которые мы раскладываем данные. Какие там данные — ему не важно. 

Добавим ниже сведения про название журнала:

<?xml version="1.0"?>
<actual>
	<!-- содержимое корневого элемента -->
	<status lastUpd = "21. 10.2021" checked = "true">
		Active
	</status>
	<media type = "online">
		Журнал «Код»
	</media>
</actual>

Новый элемент мы назвали media — так человеку будет проще прочитать и понять, что внутри, а компьютеру всё равно.

Последнее — добавим информацию о составе редакции. Обратите внимание, что появилась вложенная структура: внутри элемента person есть три дочерних элемента: name, lastname и role. Это значит, что они относятся к родительскому элементу, а не живут сами по себе:

<?xml version="1.0"?>
<actual>
	<!-- содержимое корневого элемента -->
	<status lastUpd = "21.10.2021" checked = "true">
		Active
	</status>
	<media type = "online">
		Журнал «Код»
	</media>
	<!-- редакция -->
	<person>
		<name>
			Максим
		</name>
		<lastname>
			Ильяхов
		</lastname>
		<role>
			главред
		</role>
	</person>
	<person>
		<name>
			Михаил	
		</name>
		<lastname>
			Полянин
		</lastname>
		<role>
			редактор
		</role>
	</person>
</actual>

Таким способом можно разобрать на логические составляющие любой технический или информационный документ — от инструкции к чайнику до ежегодного отчёта для инвесторов. Главное — не запутаться в элементах и чётко понимать, что от чего зависит и куда вкладывается.

Где нужен XML

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

Ещё XML применяют в API, когда идёт ответ от сервера в виде XML-файлов. 

Что дальше

В другой статье придумаем свой XML-формат и научим сервер с ним работать. 

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Олег Вешкурцев

Что такое XML? – Описание расширяемого языка разметки (XML) – AWS

Что такое XML?

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

Почему XML важен?

Расширяемый язык разметки (XML) – это язык разметки, который предоставляет правила для определения любых данных. В отличие от других языков программирования, XML не может выполнять вычислительные операции сам по себе. Вместо этого для управления структурированными данными можно использовать любой язык программирования или программное обеспечение.

Например, рассмотрим текстовый документ с комментариями к нему. В комментариях могут содержаться такие предложения:

  • Сделайте заголовок жирным
  • Это предложение является заголовком
  • Это слово автор

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

Теги XML

Для определения данных используются символы разметки, называемые тегами в XML. Например, для представления данных для книжного магазина можно создать такие теги, как <book>, <title> и <author>. Ваш XML-документ для одной книги будет содержать указанное ниже.

<book>

<title> Изучение Amazon Web Services </title>

<author> Марк Уилкинс </author>

</book>

Теги обеспечивают сложное кодирование данных для интеграции информационных потоков между различными системами.

В чем преимущества использования XML?

Поддержка межделовых транзакций

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

Поддержание целостности данных

XML позволяет передавать данные вместе с описанием данных, предотвращая потерю целостности данных. Эту описательную информацию можно использовать для выполнения указанных ниже действий.

  • Проверьте точность данных
  • Автоматическая настройка представления данных для разных пользователей
  • Согласованное хранение данных на нескольких платформах 

Повысьте эффективность поиска

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

Разработка гибких приложений

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

 

Каковы области применения XML?

Расширяемый язык разметки (XML) является базовой технологией тысяч приложений, начиная от обычных инструментов повышения производительности, таких как обработка текстов, и заканчивая программным обеспечением для публикации книг и даже сложными системами настройки приложений.

Передача данных

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

  • Данные веб-сайта в формате XML
  • Данные XML к данным системы бухгалтерского учета
  • Данные системы бухгалтерского учета возвращаются в формат XML
  • XML-данные возвращаются к данным веб-сайта

Интернет-приложения

XML обеспечивает структуру данных, которые вы видите на веб-страницах. Другие технологии веб-сайта, такие как HTML, работают с XML для представления посетителям веб-сайта согласованных и релевантных данных. Например, рассмотрим веб-сайт электронной коммерции, на котором продается одежда. Вместо того, чтобы показывать всю одежду всем посетителям, веб-сайт использует XML для создания настраиваемых веб-страниц на основе предпочтений пользователя. Он показывает товары определенных брендов, выполняя фильтрацию по тегу <brand>.

Документация

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

Тип данных

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

Из каких компонентов состоит XML-файл?

Файл расширяемого языка разметки (XML) – это текстовый документ, который можно сохранить с расширением.xml. Можно писать XML аналогично другим текстовым файлам. Для создания или редактирования XML-файла можно использовать любое из указанных ниже действий.  

  • Текстовые редакторы, такие как Блокнот или Блокнот+
  • Онлайн редакторы XML
  • Веб-браузеры

Любой XML-файл включает указанные ниже компоненты.

XML-документ

Теги <xml></xml> используются для обозначения начала и конца XML-файла. Содержимое этих тегов также называется XML-документом. Это первый тег, который будет искать любое программное обеспечение для обработки XML-кода.

Декларация XML

XML-документ начинается с информации о самом XML. Например, в нем может быть указана следующая версия XML. Это открытие называется объявлением XML. Вот пример.

<?xml version=»1.0″ encoding=»UTF-8″?>

Элементы XML

Все остальные теги, создаваемые в XML-документе, называются элементами XML. Элементы XML могут содержать указанные ниже функции.

  • Текст
  • Атрибуты
  • Другие элементы

Все XML-документы начинаются с первичного тега, который называется корневым элементом.

Например, рассмотрим приведенный ниже XML-файл.

<InvitationList>

<family>

       <aunt>

       <name>Кристин</name>

        <name>Стефани</name>

       </aunt>

</family>

</InvitationList>

<InvitationList> – корневой элемент; family и aunt – другие названия элементов.

Атрибуты XML

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

<person age=“22”>

Содержимое XML

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

<friend>

       <name>Чарли</name>

       <name>Стив</name>

</friend>

Значения данных Чарли и Стив являются содержанием.

Что такое схема XML?

Схема расширяемого языка разметки (XML) – это документ, в котором описываются некоторые правила или ограничения структуры XML-файла. Эти ограничения можно описать несколькими способами, например:

  • Грамматические правила для определения порядка элементов
  • Условия «Да» или «Нет», которым должен удовлетворять контент
  • Типы данных для содержимого XML-файлов
  • Ограничения целостности данных

Например, схема XML для книжных магазинов может налагать такие ограничения:

  1. Элемент книги будет иметь атрибуты title и author.
  2. Элемент book будет вложен в элемент category с именем атрибута.
  3. Цена книги будет отдельным элементом, вложенным в книгу

Чтобы выполнить эти ограничения, мы напишем XML-файл, как показано ниже. 

<category name=“Technology”>

<book title=“Изучение Amazon Web Services”, автор=“Марк Вилкинс”>

<price>20 USD</price>

</book>

</category>

Схемы XML обеспечивают согласованность в создании и использовании XML-файлов различными программными приложениями. Некоторые отрасли внедряют схемы XML, специфичные для их операций, чтобы упростить написание XML-кода для межделовой передачи данных. Например, Scalable Vector Graphics (SVG) – это спецификация XML для описания данных, связанных с компьютерной графикой. Разработчики программного обеспечения пишут XML-файлы, чтобы они соответствовали отраслевым спецификациям.

Что такое синтаксический анализатор XML?

Анализатор расширяемого языка разметки (XML) – это программное обеспечение, которое может обрабатывать или читать XML-документы для извлечения данных из них. Синтаксические анализаторы XML также проверяют синтаксис или правила XML-файла и могут проверять его на соответствие определенной схеме XML. Поскольку XML является строгим языком разметки, синтаксические анализаторы не будут обрабатывать файл, если есть какие-либо ошибки проверки или синтаксиса. Например, синтаксический анализатор XML выдаст ошибки, если выполняется одно из указанных ниже условий.

  • Отсутствует закрывающий или конечный тег
  • Значения атрибутов не содержат кавычек
  • Не выполнено условие схемы

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

 

Чем XML отличается от HTML?

Язык гипертекстовой разметки (HTML) – это язык, используемый на большинстве веб-страниц. Веб-браузер обрабатывает HTML-документы и отображает их в виде мультимедийной страницы. Консорциум World Wide Web (W3C) – это международное сообщество, которое разрабатывает протоколы и руководящие принципы для обеспечения долгосрочного роста Интернета. Компания W3C установила стандарты HTML и расширяемого языка разметки (XML), которые разработчики веб-сайтов внедряют для обеспечения согласованности и качества.

XML и HTML

Хотя файлы HTML и XML выглядят очень похоже, у них есть ключевые отличия.

Цель

Целью HTML является представление и отображение данных. Однако XML хранит и передает данные.

Метки

HTML имеет предопределенные теги, но пользователи могут создавать и определять свои собственные теги в XML.

Правила синтаксиса

Есть несколько незначительных, но важных различий между синтаксисом HTML и XML. Например, XML чувствителен к регистру, а HTML – нет. Синтаксические анализаторы XML выдадут ошибки, если вы напишете тег <Book> вместо <book>.

Как сервисы AWS поддерживают XML?

Все сервисы интеграции данных AWS могут обрабатывать файлы языка расширяемой разметки (XML). Ниже мы приведем несколько примеров.

AWS Glue – это бессерверная служба интеграции данных, упрощающая поиск, подготовку и объединение данных для анализа, машинного обучения и разработки приложений. AWS Glue DataBrew – это инструмент визуальной подготовки данных, который можно использовать для подготовки данных с помощью интерактивного визуального интерфейса без написания кода. DataBrew может вводить все типы форматов файлов, включая XML.

Простой сервис очередей Amazon (SQS) – это полностью управляемый сервис очереди сообщений, который можно использовать для отправки, хранения и получения сообщений между программными компонентами на любом томе. Сообщения Amazon SQS могут содержать до 256 КБ текстовых данных, включая форматы XML, JSON и неформатированный текст.

С помощью Amazon Kinesis можно просто собирать, обрабатывать и анализировать потоковые данные в режиме реального времени, чтобы своевременно получать аналитические результаты и быстро реагировать на новую информацию. Благодаря ключевым возможностям Kinesis вы можете экономично обрабатывать потоковые данные в любом масштабе. Кроме того, вы получаете возможность выбирать инструменты, соответствующие требованиям вашего приложения. Транслируйте, преобразуйте и анализируйте данные XML в реальном времени с помощью Kinesis.

Начните интеграцию данных, создав аккаунт AWS уже сегодня.

XML для абсолютного новичка

Путеводитель от HTML к обработке XML с помощью Java

Марк Джонсон

Мир Java |

HTML и Всемирная паутина повсюду. В качестве примера их вездесущности я отправляюсь в Центральную Америку на Пасху в этом году, и, если я захочу, я смогу просматривать веб-страницы, читать свою электронную почту и даже делать онлайн-банкинг в интернет-кафе в Антигуа-Гватемала и город Белиз. (Однако я не собираюсь этого делать, так как это отнимет время у моего свидания с пальмой и кокосовым орехом, наполненным ромом.)

И все же, несмотря на вездесущность и популярность HTML, его возможности сильно ограничены. Это нормально для распространения неофициальных документов, но сейчас HTML используется для решения задач, для которых он никогда не предназначался. Попытка спроектировать мощные, гибкие, интероперабельные системы данных из HTML подобна попытке построить авианосец с помощью ножовок и паяльников: инструменты (HTML и HTTP) просто не подходят для этой работы.

Хорошая новость заключается в том, что многие ограничения HTML были преодолены в XML, расширяемом языке разметки. XML легко понять любому, кто понимает HTML, но он намного мощнее. XML — это больше, чем просто язык разметки.0013 метаязык — язык, используемый для определения новых языков разметки. С помощью XML вы можете создать язык, созданный специально для вашего приложения или предметной области.

XML будет дополнять, а не заменять HTML. В то время как HTML используется для форматирования и отображения данных, XML представляет контекстное значение данных.

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

Подходит ли вам XML?

Хотя эта статья написана для всех, кто интересуется XML, она имеет особое отношение к серии JavaWorld по XML JavaBeans. (Ссылки на соответствующие статьи см. в разделе Ресурсы.) Если вы читали эту серию и не совсем «понимаете», эта статья должна пояснить, как использовать XML с bean-компонентами. Если вы понимаете, эта статья станет прекрасным дополнением к серии XML JavaBeans, поскольку она охватывает темы, не затронутые в ней. И, если вы один из немногих счастливчиков, у которых все еще есть статьи по XML JavaBeans, которые вы с нетерпением ждете, я рекомендую вам сначала прочитать настоящую статью в качестве вводного материала.

Замечание о Java

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

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

Java — отличная платформа для использования XML, а XML — выдающееся представление данных для приложений Java. По ходу дела я укажу на некоторые сильные стороны Java, связанные с XML.

Начнем с урока истории.

Происхождение языков разметки

HTML, который мы все знаем и любим (ну, во всяком случае, то, что мы знаем), был первоначально разработан Тимом Бернерсом-Ли из CERN ( le Conseil Européen pour la Recherche Nucléaire, или Европейская лаборатория по физике частиц) в Женеве, чтобы позволить ботаникам-физикам (и даже не ботаникам) общаться друг с другом. HTML был выпущен 19 декабря.90 в ЦЕРНе, а летом 1991 года стал общедоступным для всех нас. ЦЕРН и Бернерс-Ли передали спецификации для HTML, HTTP и URL-адресов в соответствии со старой доброй традицией Интернета «поделись и наслаждайся».

Бернерс-Ли определил HTML в SGML, стандартном обобщенном языке разметки. SGML, как и XML, является метаязыком — языком, используемым для определения других языков. Каждый определенный таким образом язык называется приложением SGML. HTML — это приложение SGML.

SGML появился в результате исследований, проведенных главным образом в IBM по представлению текстовых документов в конце 60-х. IBM создала GML («Общий язык разметки»), язык-предшественник SGML, а в 1978 году Американский национальный институт стандартов (ANSI) создал свою первую версию SGML. Первый стандарт был выпущен в 1983 г., проект стандарта был опубликован в 1985 г., а первый стандарт был опубликован в 1986 г. Достаточно интересно, что первый стандарт SGML был опубликован с использованием системы SGML, разработанной Андерсом Берглундом из CERN, организации, которая, как и мы видели, дал нам HTML и Интернет.

SGML широко используется в крупных отраслях промышленности и государственных учреждениях, например, в крупных аэрокосмических, автомобильных и телекоммуникационных компаниях. SGML используется в качестве стандарта документов в Министерстве обороны США и Службе внутренних доходов. (Для читателей за пределами США налоговыми органами является IRS.)

Альберт Эйнштейн сказал, что все должно быть максимально простым, и никак не проще. Причина, по которой SGML не встречается в большем количестве мест, заключается в том, что он чрезвычайно сложный и сложный. А HTML, который вы можете найти повсюду, очень прост; для многих приложений это слишком просто.

HTML: вся форма и отсутствие содержания

HTML — это язык, предназначенный для «разговоров» о документах: заголовках, заголовках, подписях, шрифтах и ​​т. д. Он в значительной степени ориентирован на структуру документа и представление.

По общему признанию, художники и хакеры смогли творить чудеса с относительно скучным инструментом под названием HTML. Но у HTML есть серьезные недостатки, из-за которых он плохо подходит для разработки гибких, мощных, эволюционирующих информационных систем. Вот несколько основных жалоб:

  • HTML не является расширяемым

    Расширяемый язык разметки позволит разработчикам приложений определять пользовательские теги для конкретных ситуаций приложения. Если вы не 600-фунтовая горилла (а может быть, даже и тогда), вы не можете требовать, чтобы все производители браузеров реализовывали все теги разметки, необходимые для вашего приложения. Итак, вы застряли с тем, что вам предлагают крупные производители браузеров или W3C (Консорциум World Wide Web). Что нам нужно, так это язык, который позволит нам создавать собственные теги разметки, не обращаясь к производителю браузера.

  • HTML очень ориентирован на отображение

    HTML — прекрасный язык для целей отображения, если только вам не требуется много точного контроля форматирования или преобразования (в этом случае он воняет). HTML представляет собой смесь логической структуры документа (заголовки, абзацы и т. д.) с тегами представления (жирный шрифт, выравнивание изображения и т. д.). Поскольку почти все теги HTML связаны с тем, как отображать информацию в браузере, HTML бесполезен для других распространенных сетевых приложений, таких как репликация данных или службы приложений. Нам нужен способ объединить эти общие функции с отображением, чтобы тот же сервер, который используется для просмотра данных, также мог, например, выполнять бизнес-функции предприятия и взаимодействовать с устаревшими системами.

  • HTML обычно нельзя повторно использовать напрямую

    Создание документов в текстовых процессорах и последующий их экспорт в формате HTML несколько автоматизированы, но все же требуют, по крайней мере, некоторой настройки вывода для достижения приемлемых результатов . Если данные, из которых был создан документ, изменяются, необходимо переделать весь перевод HTML. Веб-сайты, которые круглосуточно показывают текущую погоду по всему миру, обычно очень хорошо справляются с этим автоматическим переформатированием. Содержание и стиль представления документа разделены, так как разработчики системы понимают, что их содержание (температуры, прогнозы и т. д.) меняется постоянно. Что нам нужно, так это способ указать представление данных с точки зрения структуры, чтобы при обновлении данных можно было последовательно и легко «повторно применять» форматирование.

  • HTML обеспечивает только одно «представление» данных

    Трудно написать HTML, который отображает одни и те же данные по-разному в зависимости от запросов пользователя. Динамический HTML — это только начало, но он требует огромного количества сценариев и не является универсальным решением этой проблемы. (Динамический HTML обсуждается более подробно ниже.) Что нам нужно, так это способ получить всю информацию, которую мы можем захотеть просмотреть сразу, и просматривать ее различными способами на клиенте.

  • HTML имеет небольшую семантическую структуру или вообще не имеет ее

    Большинство веб-приложений выиграли бы от возможности представлять данные по смыслу, а не по макету. Например, может быть очень сложно найти то, что вы ищете в Интернете, потому что в файлах HTML нет указаний на значение данных (за исключением тегов META, которые обычно вводят в заблуждение). Введите

    red

    в поисковую систему, и вы получите ссылки на Red Skelton, Red Herring, Red Snapper, Red Scare, Red Letter Day и, возможно, одну или две страницы «Книги, которые у меня красные». .» В HTML нет способа указать, что означает конкретный элемент страницы. Более полезный язык разметки будет представлять информацию с точки зрения ее значения. Что нам нужно, так это язык, который не говорит нам, как

    отображать

    информацию, а скорее то, что данный блок информации

    представляет собой

    , поэтому мы знаем, что с ним делать.

SGML не имеет ни одной из этих слабостей, но в общих чертах он невероятно сложен (по крайней мере, в его полной форме). Язык, используемый для форматирования SGML (его «язык стиля»), называемый DSSSL (язык семантики стиля документа и спецификации), является чрезвычайно мощным, но сложным в использовании. Как нам получить язык, который примерно так же прост в использовании, как HTML, но имеет большую часть возможностей SGML?

Происхождение XML

По мере того, как популярность Сети стремительно росла, и люди во всем мире начали изучать HTML, они довольно быстро начали сталкиваться с ограничениями, описанными выше. Знатоки SGML, работавшие с SGML в течение многих лет в относительной безвестности, внезапно обнаружили, что обычные люди имеют некоторое представление о концепции разметки (то есть HTML). Эксперты SGML начали рассматривать возможность использования SGML в Интернете напрямую, вместо того, чтобы использовать только одно его приложение (опять же, HTML). В то же время они знали, что SGML, хотя и мощный, слишком сложен для большинства людей.

Летом 1996 года Джон Босак (в настоящее время архитектор сетевых информационных технологий в Sun Microsystems) убедил W3C позволить ему сформировать комитет по использованию SGML в Интернете. Он создал мощную команду придурков из мира SGML. К ноябрю того же года эти люди создали зачатки упрощенной формы SGML, которая включала в себя проверенные функции SGML, но с меньшей сложностью. Это был и есть XML.

В марте 1997 г. Босак опубликовал свою знаменательную статью «XML, Java и будущее Интернета» (см. Ресурсы). Теперь, два года спустя (очень долгое время в жизни Интернета), короткая статья Босака по-прежнему является хорошим, хотя и устаревшим, введением в то, почему использование XML является такой прекрасной идеей.

SGML был создан для общего структурирования документов, а HTML был создан как приложение SGML для веб-документов. XML представляет собой упрощенную версию SGML для общего использования в Интернете.

Концептуальный пример XML

Все эти разговоры об «изобретении собственных тегов» довольно туманны: какие теги захочет изобрести разработчик и как будет использоваться полученный XML? В этом разделе мы рассмотрим пример, который сравнивает представление информации в HTML и XML. В следующем разделе («XSL: мне нравится ваш стиль») мы рассмотрим отображение XML.

Сначала мы возьмем пример рецепта и отобразим его как один из возможных HTML-документов. Затем мы переделаем пример в XML и обсудим, что это нам даст.

Пример HTML

Взгляните на небольшой фрагмент HTML в листинге 1:

 

<ГОЛОВА>
Сюрприз с творогом и желе из лайма и зефира

<ТЕЛО>

Сюрприз с творогом и желе из лайма и зефира

Любимица моей бабушки (пусть она покоится с миром).
Ингредиенты
<ГРАММА ТАБЛИЦЫ="1"> КоличествоЕдиницТовар 1коробкалаймовый желатин 500гразноцветных крошечных маршмеллоу 500млтворог дэшСоус табаско (по желанию) <Р>
Инструкции
<ПР>
  • Приготовьте лаймовый желатин в соответствии с инструкциями на упаковке...
  • Листинг 1. Немного HTML

    (Версию этого листинга для печати можно найти на странице example.html.)

    Глядя на HTML-код в Листинге 1, почти всем понятно, что это рецепт. для чего-то (что-то ужасное, но рецепт тем не менее). В браузере наш HTML выдает что-то вроде этого:

    Желе из лайма Зефир Сюрприз из творога

    Любимое блюдо моей бабушки (пусть она покоится с миром).

    Ингредиенты
    Кол-во Шт. 0163

    500 г разноцветные крошечные зефирки
    500 мл Творог
      дэш Соус табаско (по желанию)
    Инструкция
    1. Упаковка лаймового желатина…9 согласно инструкции0072

    Листинг 2. Как выглядит HTML в листинге 1 в браузере удобочитаемый. Разметка может быть немного загадочной, но если она составлена ​​правильно, за ней довольно легко следовать.

  • HTML может отображаться практически любым браузером HTML, даже без графических возможностей. Это важный момент: отображение не зависит от браузера. Если бы была фотография результатов приготовления по этому рецепту (а хочется надеяться, что ее нет), она бы отображалась в графическом браузере, но не в текстовом.

  • Вы можете использовать каскадную таблицу стилей (CSS — мы немного поговорим о них ниже) для общего управления форматированием.
  • Однако у HTML как формата данных есть одна серьезная проблема. , означающее различных фрагментов данных в документе, теряется. Очень сложно взять общий HTML и понять, что означают данные в HTML. Тот факт, что в этом рецепте есть <Ингредиент> с <Количество> (количество) 500 мл ( ) из творога было бы очень трудно извлечь из этого документа общезначимым способом.

    Теперь, идея данных в HTML-документе означает что-то может быть немного трудной для понимания. Веб-страницы удобны для чтения человеком, но если программа собирается обрабатывать документ, ей требуются недвусмысленные определения того, что означают теги. Например, тег </code> в HTML-документе заключает в себе заголовок документа. Это то, что означает тег, и это не означает ничего другого. Точно так же HTML 9Тег 0247<TR> </code> означает «строка таблицы», но это мало полезно, если ваша программа пытается прочитать рецепты, чтобы, скажем, создать список покупок. Как программа может найти список ингредиентов на веб-странице, отформатированной в HTML?</p><p> Конечно, вы можете написать программу, которая извлекает заголовки из документа, считывает заголовки столбцов таблицы, вычисляет количества и единицы измерения каждого ингредиента и так далее. Проблема в том, что все форматируют рецепты по-разному. Что, если вы пытаетесь получить эту информацию, скажем, с веб-сайта Джулии Чайлдс, а она продолжает возиться с форматированием? Если Джулия изменит порядок столбцов или перестанет использовать таблицы, она сломает вашу программу! (Хотя надо сказать: если Джулия начнет публиковать подобные рецепты, ей, возможно, захочется подумать о смене карьеры.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/luxe-host.ru/wp-content/uploads/2/d/4/2d43bc711fc5f5b86005d44fb108d968.jpeg' /><noscript><img loading='lazy' src='/800/600/http/luxe-host.ru/wp-content/uploads/2/d/4/2d43bc711fc5f5b86005d44fb108d968.jpeg' /></noscript> )</p><p> Теперь представьте, что эта страница рецепта получена из данных в базе данных, и вы хотели бы иметь возможность распространять эти данные. Может быть, вы хотели бы добавить его в свою огромную базу данных рецептов дома, где вы можете искать и использовать его по своему усмотрению. К сожалению, ваш ввод — это HTML, поэтому вам понадобится программа, которая может читать этот HTML, выяснять, что такое все «ингредиенты», «инструкции», «единицы» и т. д., а затем импортировать их в вашу базу данных. Это много работы. Тем более, что вся эта семантическая информация — опять же, значение данных — существовала в исходной базе данных, но была скрыта в процессе преобразования в HTML.</p><p> Теперь представьте, что вы можете изобрести свой собственный язык для описания рецептов. Вместо описания того, как должен отображаться рецепт, вы должны описать <em> информационную структуру </em> в рецепте: как каждая часть информации будет связана с другими частями.</p><p> <strong> Пример XML </strong></p><p> Давайте просто создадим язык разметки для описания рецептов и перепишем наш рецепт на этом языке, как в листинге 3.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/vuz-24.ru/nex/images/image-8fe8c5c.png' /><noscript><img loading='lazy' src='/800/600/http/vuz-24.ru/nex/images/image-8fe8c5c.png' /></noscript></p><pre> <?xml version="1.0"?> <Рецепт> <Name>Сюрприз с творогом и желе с лаймом и зефиром</Name> <Описание> Любимица моей бабушки (пусть она покоится с миром). </Описание> <Ингредиенты> <Ингредиент> <Количество единиц = "коробка"> 1 </ Кол-во> <Item>лаймовый желатин</Item> </Ингредиент> <Ингредиент> <кол-во единиц="г">500</кол-во> <Item>разноцветные крошечные зефирки</Item> </Ингредиент> <Ингредиент> <Количество единиц = "мл"> 500 </ Кол-во> <Item>Творог</Item> </Ингредиент> <Ингредиент> <Количество единиц = "тире"/> <Item option="1">Соус Табаско</Item> </Ингредиент> </Ингредиенты> <Инструкции> <Шаг> Приготовьте лаймовый желатин согласно инструкции на упаковке. </Шаг> </Инструкции> </Рецепт> </pre><p> <strong> Листинг 3. Пользовательский язык разметки для рецептов </strong></p><p> Вас, как проницательного читателя, не удивит, что этот рецепт в его новом формате на самом деле является документом XML.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/brit03.ru/wp-content/uploads/otkryt-xml-onlajn.jpg' /><noscript><img loading='lazy' src='/800/600/http/brit03.ru/wp-content/uploads/otkryt-xml-onlajn.jpg' /></noscript> Может дело в том, что файл начинался с нечетного заголовка</p><pre> <?xml version="1.0"?> </pre><p> отдал; фактически каждый файл XML должен начинаться с этого заголовка. Мы просто изобрели теги разметки, которые имеют особое значение; например, «<code> <Ингредиент> </code> — это <code> <Qty> </code> (количество в указанных единицах) одного <code> <Item> </code> , который, возможно, является <code> необязательным </code> ». Наш XML-документ описывает информацию в рецепте с точки зрения <em> рецептов, </em> вместо как <em> отобразить </em> рецепт (как в HTML). Семантика, или значение информации, поддерживается в XML, потому что для этого был разработан набор тегов</p><p> <strong> Примечания к обозначениям </strong></p><p> Это важно чтобы получить некоторую номенклатуру. На рисунке 1 вы видите 9Начальный тег 0013, </em>, с которого начинается замкнутая область текста, известная как <code> Item </code>, в соответствии с именем тега <em>. </em> Как и в HTML, теги XML могут включать список <em> атрибутов </em> (состоящий из имени атрибута <em> </em> и значения атрибута <em>.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/info-comp.ru/wp-content/uploads/images/stories/kartinki4/xmldoc_3.jpg' /><noscript><img loading='lazy' src='/800/600/http/info-comp.ru/wp-content/uploads/images/stories/kartinki4/xmldoc_3.jpg' /></noscript> </em> ) <code> Элемент </code>, определяемый тегом, заканчивается конечным тегом <em>. </em></p><p> Рисунок 1. Начальный тег XML и соответствующий ему закрывающий тег</p><p> Не каждый тег заключает в себе текст. В HTML тег <code> <BR> </code> означает «разрыв строки» и не содержит текста. В XML такие элементы не разрешены. Вместо этого XML имеет <em> пустые теги, </em> обозначаются косой чертой перед последней прямоугольной скобкой в ​​теге. На рис. 2 показан пустой тег из нашего XML-рецепта. Обратите внимание, что пустые теги могут иметь атрибуты. Этот пример пустого тега является стандартным сокращением XML для <code> <Qty unit="g"></Qty> </code> .</p><p> Рисунок 2. Пустой тег</p><p> Помимо этих отличий от HTML, структурные правила XML более строгие. Каждый XML-документ должен быть <em> правильно сформирован. </em> Что это значит? Читай дальше!</p><p> <strong> О-ля-ля! Правильно сформированный XML </strong></p><p> Понятие правильности пришло из математики: можно писать математические выражения, которые ничего не значат.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/3.bp.blogspot.com/-e03Wq8HOqWY/Wemdb_eK-eI/AAAAAAAABtM/IwqHdiRGlTcLOAGGsMUxn8joeMEZsRWfACLcBGAs/s1600/1teg.png' /><noscript><img loading='lazy' src='/800/600/http/3.bp.blogspot.com/-e03Wq8HOqWY/Wemdb_eK-eI/AAAAAAAABtM/IwqHdiRGlTcLOAGGsMUxn8joeMEZsRWfACLcBGAs/s1600/1teg.png' /></noscript> Например, выражение</p><p> <strong> <code> 2 ( + + 5 (=) 9 > 7 </code> </strong></p><p> выглядит (в некотором роде) как математика, но это не математика, потому что она не следует правилам записи и структуры для математическое выражение (по крайней мере, не на этой планете). Другими словами, приведенное выше «выражение» не равно <em> хорошо сформирован. </em> Математические выражения должны быть правильно сформированы, прежде чем вы сможете сделать с ними что-либо полезное, потому что неправильно сформированные выражения бессмысленны.</p><p> Правильно сформированный XML-документ — это просто тот документ, который соответствует всем правилам нотации и структуры XML. Программы, предназначенные для обработки XML, должны отклонять любой входной XML, который не соответствует правилам правильного формата. Наиболее важные из этих правил следующие:</p><ul><li><p> <strong> Нет незакрытых тегов </strong></p><p> В HTML вам могут сойти с рук всевозможные дурацкие штуки. Например, в большинстве браузеров HTML вы можете «открыть» элемент списка с помощью <code><LI> </code> и никогда не «закрыть» его с помощью <code></LI> </code> .<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/fuzeservers.ru/wp-content/uploads/5/0/9/5095793df1bf0bf9810bf5afd56b7e71.jpeg' /><noscript><img loading='lazy' src='/800/600/http/fuzeservers.ru/wp-content/uploads/5/0/9/5095793df1bf0bf9810bf5afd56b7e71.jpeg' /></noscript> Браузер просто выясняет, где будет <code></LI> </code>, и автоматически вставляет его для вас. XML не допускает такой небрежности. Каждый начальный тег должен иметь соответствующий закрывающий тег. Это связано с тем, что часть информации в XML-файле связана с тем, как различные элементы информации связаны друг с другом, и если структура неоднозначна, то и информация неоднозначна. Таким образом, XML просто не допускает двусмысленной структуры. Эта недвусмысленная структура также позволяет обрабатывать XML-документы как структуры данных (деревья), как я вскоре объясню при обсуждении объектной модели документа.</p></li><li><p> <strong> Нет перекрывающихся тегов </strong></p><p> Тег, открывающийся внутри другого тега, должен закрыться до закрытия содержащего его тега. Например, последовательность</p><p> <strong> <code></p><p> <Tomato></p><p> Давайте назовем <Potato>все это выключено</Tomato></p><p> </Potato></p><p> </code> </strong></p></p><p> <Pota2> неправильно сформирована, потому что</p><p> <Pota2> </code> открывается внутри <code> <Tomato> </code>, но не закрывается внутри <code> <Tomato> </code> .<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/cf.ppt-online.org/files1/slide/v/vDHZj2kLNUsb05RQagXFump68htSyc3JzCfxMw9Gre/slide-2.jpg' /><noscript><img loading='lazy' src='/800/600/http/cf.ppt-online.org/files1/slide/v/vDHZj2kLNUsb05RQagXFump68htSyc3JzCfxMw9Gre/slide-2.jpg' /></noscript> Правильная последовательность должна быть такой:</p><p> <strong> <code></p><p> <Tomato></p><p> Давайте назовем <Potato>все это выключено</Potato></p><p> </Tomato></p><p> </code> </strong></p><p> Другими словами, структура документа должна быть строго иерархически.</p></li><li><p> <strong> Значения атрибутов должны быть заключены в кавычки </strong></p><p> В отличие от HTML, XML не допускает «голые» значения атрибутов (т. е. теги HTML, такие как <code><TABLE BORDER=1> </code> , где значение атрибута не заключено в кавычки). Каждое значение атрибута должно быть заключено в кавычки (<code><TABLE BORDER="1"> </code>).</p></li><li><p> <strong> Текстовые символы (<), (>) и («) всегда должны быть представлены «символьными объектами» </strong></p><p> Для представления этих трех символов (левая угловая скобка, правая угловая скобка и двойная кавычки) в текстовой части XML (не в разметке) необходимо использовать объекты со специальными символами (</p><p> <code> < </code></p><p>), (</p><p> <code> > </code></p><p>) и (</p><p> <code>" </code></p><p>) соответственно.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/cf.ppt-online.org/files1/slide/q/Q1wgokapOGbiE2TCnZMLe5l0hKIPVdtBFjfSWRzD4/slide-2.jpg' /><noscript><img loading='lazy' src='/800/600/http/cf.ppt-online.org/files1/slide/q/Q1wgokapOGbiE2TCnZMLe5l0hKIPVdtBFjfSWRzD4/slide-2.jpg' /></noscript> Эти символы являются специальными символами для XML. Файл XML, использующий, скажем, символ двойной кавычки в тексте, заключенном в теги в файле XML, имеет неправильный формат, и правильно спроектированные синтаксические анализаторы XML будут выдавать ошибку для такого ввода.</p></li></ul><p> <strong> «Правильно сформированный» означает «поддающийся анализу» </strong></p><p> Общий синтаксический анализатор XML <em> </em> — это программа или класс, который может считывать любой правильно сформированный XML на входе. Многие поставщики теперь предлагают синтаксические анализаторы XML в Java 9.0013 бесплатно; </em> (ссылки на эти пакеты вы найдете в разделе Ресурсы внизу этой статьи). Синтаксические анализаторы XML распознают правильно сформированные документы и выдают сообщения об ошибках (во многом подобно компилятору), когда они получают входные данные, которые не имеют правильного формата. Как мы увидим, эта функциональность очень удобна для программиста: вы просто вызываете выбранный вами синтаксический анализатор, и он позаботится об обнаружении ошибок и так далее.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/i.stack.imgur.com/Fl2rU.png' /><noscript><img loading='lazy' src='/800/600/http/i.stack.imgur.com/Fl2rU.png' /></noscript> В то время как все XML-парсеры проверяют правильность форматирования документов (имеется в виду, как мы видели, что все теги имеют смысл, правильно вложены и т. д.), <em> проверка </em> Анализаторы XML делают еще один шаг вперед. Проверяющие синтаксические анализаторы также подтверждают, является ли документ <em> действительным </em> ; то есть структура и количество тегов имеют смысл.</p><p> Например, большинство браузеров отобразят документ, который (как ни странно) состоит из двух элементов <code><TITLE> </code>, но как это может быть? Имеет смысл только одно название или отсутствие названия.</p><p> В качестве другого примера представьте, что в листинге 3 ингредиент «творог» выглядит так:</p><pre> <Ингредиент> <Количество единиц = "мл"> 500 </ Кол-во> <кол-во единиц="г">9</кол-во> <Item>Творог</Item> </Ингредиент> </pre><p> Этот XML-документ, безусловно, составлен правильно, но в нем нет смысла. Это не <em> структурно </em>. Бессмысленно, если <code> <кол-во> </code> содержит <<code> кол-во </code>>.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/cf2.ppt-online.org/files2/slide/q/qoasOcuKLHwUJk3nRiSgtEzCheQZDNMp2j641x/slide-31.jpg' /><noscript><img loading='lazy' src='/800/600/http/cf2.ppt-online.org/files2/slide/q/qoasOcuKLHwUJk3nRiSgtEzCheQZDNMp2j641x/slide-31.jpg' /></noscript> Что такое <code> <кол-во> </code> этого <code> <ингредиента> </code> ?</p><p> Проблема в том, что у нас есть правильно оформленный документ, но он не очень полезен, потому что XML не имеет смысла. Нам нужен способ указать, что делает документ XML действительным. Например, как мы можем указать, что <code> Тег <Qty> </code> может содержать только текст (а не какие-либо другие элементы) и сообщать об ошибках в любом другом случае?</p><p> Ответ на этот вопрос содержится в так называемом определении типа документа <em>, </em>, которое мы рассмотрим далее.</p><p data-readability-styled="true"> Связанный:</p><ul><li> Ява</li><li> Языки программирования</li></ul><p> Страница 1 из 3</p><p> Как выбрать платформу разработки с низким кодом</p><h2><span class="ez-toc-section" id="404_%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0_%D0%BD%D0%B5_%D0%BD%D0%B0%D0%B9%D0%B4%D0%B5%D0%BD%D0%B0"></span> 404: Страница не найдена <span class="ez-toc-section-end"></span></h2><p> Страница, которую вы пытались открыть по этому адресу, похоже, не существует. Обычно это результат плохой или устаревшей ссылки. Мы извиняемся за любые неудобства.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/image2.slideserve.com/3716266/xml-programming-example-linq-to-xml-l.jpg' /><noscript><img loading='lazy' src='/800/600/http/image2.slideserve.com/3716266/xml-programming-example-linq-to-xml-l.jpg' /></noscript></p><h4><span class="ez-toc-section" id="%D0%A7%D1%82%D0%BE_%D1%8F_%D0%BC%D0%BE%D0%B3%D1%83_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D1%81%D0%B5%D0%B9%D1%87%D0%B0%D1%81"></span> Что я могу сделать сейчас? <span class="ez-toc-section-end"></span></h4><p> Если вы впервые посещаете TechTarget, добро пожаловать! Извините за обстоятельства, при которых мы встречаемся. Вот куда вы можете пойти отсюда:</p><p>Поиск</p><ul><li> Пожалуйста, свяжитесь с нами, чтобы сообщить, что эта страница отсутствует, или используйте поле выше, чтобы продолжить поиск</li><li> Наша страница «О нас» содержит дополнительную информацию о сайте, на котором вы находитесь, WhatIs.com.</li><li> Посетите нашу домашнюю страницу и просмотрите наши технические темы</li></ul><h4><span class="ez-toc-section" id="%D0%9F%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8"></span> Просмотр по категории <span class="ez-toc-section-end"></span></h4><p data-readability-styled="true"> Сеть</p><ul><li> <i data-icon="2"/><br /> оптоволокно до дома (FTTH)</p><p> Оптоволокно до дома (FTTH), также называемое оптоволокном до помещения (FTTP), представляет собой установку и использование оптического волокна от центрального …</p></li><li> <i data-icon="2"/><br /> Манчестерское кодирование</p><p> При передаче данных манчестерское кодирование — это форма цифрового кодирования, в которой состояние бита данных — 0 или 1 — представляется .<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/wikisovet.ru/wp-content/uploads/c/6/5/c65bcfc4f2a5a2c00289d88c99d70371.gif' /><noscript><img loading='lazy' src='/800/600/http/wikisovet.ru/wp-content/uploads/c/6/5/c65bcfc4f2a5a2c00289d88c99d70371.gif' /></noscript> ..</p></li><li> <i data-icon="2"/><br /> нслукап</p><p> Nslookup — это название программы, которая позволяет пользователям вводить имя хоста и узнавать соответствующий IP-адрес или доменное имя…</p></li></ul><p data-readability-styled="true"> Безопасность</p><ul><li> <i data-icon="2"/><br /> WPA3</p><p> WPA3, также известный как Wi-Fi Protected Access 3, является третьей итерацией стандарта сертификации безопасности, разработанного Wi-Fi …</p></li><li> <i data-icon="2"/><br /> брандмауэр</p><p> Брандмауэр — это устройство сетевой безопасности, предотвращающее несанкционированный доступ к сети. Проверяет входящий и исходящий трафик…</p></li><li> <i data-icon="2"/><br /> защита облачных рабочих нагрузок</p><p> Защита рабочих нагрузок в облаке — это защита рабочих нагрузок, распределенных по нескольким облачным средам. Предприятия, использующие …</p></li></ul><p data-readability-styled="true"> ИТ-директор</p><ul><li> <i data-icon="2"/><br /> Agile-манифест</p><p> The Agile Manifesto — это документ, определяющий четыре ключевые ценности и 12 принципов, в которые его авторы верят разработчикам программного обеспечения.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/fuzeservers.ru/wp-content/uploads/f/e/5/fe51ee08cfe3e7311de6678906781951.jpeg' /><noscript><img loading='lazy' src='/800/600/http/fuzeservers.ru/wp-content/uploads/f/e/5/fe51ee08cfe3e7311de6678906781951.jpeg' /></noscript> ..</p></li><li> <i data-icon="2"/><br /> Общее управление качеством (TQM)</p><p> Всеобщее управление качеством (TQM) — это структура управления, основанная на вере в то, что организация может добиться долгосрочного успеха, …</p></li><li> <i data-icon="2"/><br /> системное мышление</p><p> Системное мышление — это целостный подход к анализу, который фокусируется на том, как взаимодействуют составные части системы и как…</p></li></ul><p data-readability-styled="true"> HRSoftware</p><ul><li> <i data-icon="2"/><br /> непрерывное управление производительностью</p><p> Непрерывное управление производительностью в контексте управления человеческими ресурсами (HR) представляет собой надзор за производительностью сотрудника …</p></li><li> <i data-icon="2"/><br /> вовлечения сотрудников</p><p> Вовлеченность сотрудников — это эмоциональная и профессиональная связь, которую сотрудник испытывает к своей организации, коллегам и работе.</p></li><li> <i data-icon="2"/><br /> кадровый резерв</p><p> Кадровый резерв — это база данных кандидатов на работу, которые могут удовлетворить немедленные и долгосрочные потребности организации.<img class="lazy lazy-hidden" loading='lazy' src="//imacrosoft.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/webformyself.com/wp-content/uploads/2019/99/3.png' /><noscript><img loading='lazy' src='/800/600/http/webformyself.com/wp-content/uploads/2019/99/3.png' /></noscript></p></div><div class="post-navigation row"><div class="post-previous col-md-6"><a href="https://imacrosoft.ru/raznoe/kak-mozhno-kompyuter-podklyuchit-k-televizoru-kak-podklyuchit-kompyuter-k-televizoru-2.html" rel="prev"><span class="meta-nav">Назад:</span> Как можно компьютер подключить к телевизору: Как подключить компьютер к телевизору</a></div><div class="post-next col-md-6"><a href="https://imacrosoft.ru/raznoe/ustanovka-curl-vvedenie-v-curl-i-ego-ustanovka-2.html" rel="next"><span class="meta-nav">Вперед:</span> Установка curl: Введение в curl и его установка</a></div></div></div></article><aside id="sidebar" class="col-md-3 rsrc-right" role="complementary"></aside></div><footer id="colophon" class="rsrc-footer" role="contentinfo"><div class="row rsrc-author-credits"><div class="text-center"> Imacros | Все права защищены © 2021</div></div></footer><div id="back-top"> <a href="#top"> <span></span> </a></div></div> <noscript><style>.lazyload{display:none}</style></noscript><script data-noptimize="1">window.lazySizesConfig=window.lazySizesConfig||{};window.lazySizesConfig.loadMode=1;</script><script async data-noptimize="1" src='https://imacrosoft.ru/wp-content/plugins/autoptimize/classes/external/js/lazysizes.min.js'></script> <!-- noptimize --> <style>iframe,object{width:100%;height:480px}img{max-width:100%}</style><script>new Image().src="//counter.yadro.ru/hit?r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+";"+Math.random();</script> <!-- /noptimize --> <script defer src="https://imacrosoft.ru/wp-content/cache/autoptimize/js/autoptimize_e333cc9d38f7203f63ae7f91547f0edb.js"></script></body></html>