Newcomposers.ru

IT Мир
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как html перевести в xml

XML для начинающих

Вероятно, вы слышали о языке XML и вам известно множество причин, по которым его необходимо использовать в вашей организации. Но что именно представляет собой XML? В этой статье объясняется, что такое XML и как он работает.

В этой статье

Пометки, разметка и теги

Для понимания языка XML он помогает понять смысл пометки данных. Люди создали документы для протяжении столетий, и пока они не пометили их в течение всего времени. Например, преподаватели замечают все время на учебные материалы для учащихся. Они указывают слушателям на то, что вы можете перемещать параграфы, прояснить предложения, исправлять опечатки и т. д. Пометка документа определяет структуру, значение и визуальное представление данных в документе. Если вы когда-нибудь использовали функцию «исправления» в Microsoft Office Word, вы использовали заметку, которая была установлена на компьютере.

В мире информационных технологий термин «пометка» превратился в термин «разметка». При разметке используются коды, называемые тегами (или иногда токенами), для определения структуры, визуального оформления и — в случае XML — смысла данных.

Текст этой статьи в формате HTML является хорошим примером применения компьютерной разметки. Если в Microsoft Internet Explorer щелкнуть эту страницу правой кнопкой мыши и выбрать команду Просмотр HTML-кода, вы увидите читаемый текст и теги HTML, например

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

) и местоположение рисунков.

Отличительные черты XML

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

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

Учитывайте при работе следующее:

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

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

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

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

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

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Веб-браузер проигнорирует теги XML и отобразит только данные.

Правильно сформированные данные

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

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

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

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

Схемы

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

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

Схемы могут быть сложными, и в данной статье невозможно объяснить, как их создавать. (Кроме того, скорее всего, в вашей организации есть ИТ-специалисты, которые знают, как это делать.) Однако полезно знать, как выглядят схемы. Следующая схема определяет правила для набора тегов . :

Не беспокойтесь, если в примере не все понятно. Просто обратите внимание на следующее:

Строковые элементы в приведенном примере схемы называются объявлениями. Если бы требовались дополнительные сведения о животном, например его цвет или особые признаки, то специалисты отдела ИТ добавили бы к схеме соответствующие объявления. Систему XML можно изменять по мере развития потребностей бизнеса.

Объявления являются мощным средством управления структурой данных. Например, объявление означает, что теги, такие как и
, должны следовать в указанном выше порядке. С помощью объявлений можно также проверять типы данных, вводимых пользователем. Например, приведенная выше схема требует ввода положительного целого числа для возраста кота и логических значений (TRUE или FALSE) для тегов ALTERED и DECLAWED.

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

Преобразования

Как говорилось выше, XML также позволяет эффективно использовать и повторно использовать данные. Механизм повторного использования данных называется преобразованием XSLT (или просто преобразованием).

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

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

В следующем примере кода показан один из способов написания преобразования. Данные>

В этом примере показано, как может выглядеть текст одного из типов преобразования, но помните, что вы можете ограничиться четким описанием того, что вам нужно от данных, и это описание может быть сделано на вашем родном языке. Например, вы можете пойти в отдел ИТ и сказать, что необходимо напечатать данные о продажах для конкретных регионов за последние два года, и что эти сведения должны выглядеть так-то и так-то. После этого специалисты отдела могут написать (или изменить) преобразование, чтобы выполнить вашу просьбу.

Читать еще:  Как сохранить html в pdf

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

XML в системе Microsoft Office

Профессиональные выпуски Office обеспечивают всестороннюю поддержку XML. Начиная с Microsoft Office 2007, в Microsoft Office используются форматы файлов на основе XML, например DOCX, XLSX и PPTX. Поскольку XML-данные хранятся в текстовом формате вместо запатентованного двоичного формата, ваши клиенты могут определять собственные схемы и использовать ваши данные разными способами без лицензионных отчислений. Для получения дополнительных сведений о новых форматах ознакомьтесь с разрешениями в разделе форматы файлов Open XML и расширение имени файла. К другим преимуществам относятся:

Меньший размер файлов. Новый формат использует ZIP и другие технологии сжатия, поэтому размер файла на 75 процентов меньше, чем в двоичных форматах, применяемых в более ранних версиях Office.

Более простое восстановление данных и большая безопасность. Формат XML может быть легко прочитан пользователем, поэтому если файл поврежден, его можно открыть в Блокноте или другой программе для просмотра текста и восстановить хотя бы часть данных. Кроме того, новые файлы более безопасны, потому что они не могут содержать код Visual Basic для приложений (VBA). Если новый формат используется для создания шаблонов, то элементы ActiveX и макросы VBA находятся в отдельном, более безопасном разделе файла. Кроме того, можно удалять личные данные из документов с помощью таких средств, как инспектор документов. Дополнительные сведения об использовании инспектора документов можно найти в статье Удаление скрытых и персональных данных путем проверки документов.

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

Включение средств XML в Office

По умолчанию вкладка «Разработчик» не отображается. Ее необходимо добавить на ленту для использования команд XML в Office.

В Office 2016, Office 2013 или Office 2010: Отображение вкладки «Разработчик».

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Публикация XML-данных в форматах HTML и PDF с помощью одной таблицы стилей XSLT

Простое и быстрое преобразование XML-данных в форматы HTML и PDF

Предварительные условия

Для освоения материала данной статьи весьма полезным является знакомство с XML и с другими стандартами организации W3C. Чтобы выполнить примеры из этой статьи, необходимо установить СУБД eXist, а также eXist-функцию расширения XQuery для цифровой публикации. См. раздел Ресурсы.

Хранение данных в рамках такой архитектуры, как XForms/REST/XQuery [XRX], сегодня является обычным явлением (см. раздел Ресурсы). Хранящиеся таким образом данные можно запрашивать, извлекать и преобразовывать в желаемый формат. Кроме того, разработчики веб-приложений могут предоставлять пользователям возможности для извлечения данных в формате HTML (для просмотра в своих веб-браузерах) или в виде PDF-файлов (с целью загрузки для последующего использования).

В этой статье показано, каким образом можно преобразовать XML-данные в HTML, затем из HTML в XSL-FO, и, наконец, из XSL-FO в PDF с помощью функции расширения XQuery, основанной на инструменте CSSToXSLFO (см. раздел Ресурсы).

Преобразование XML-данных в другие форматы

Часто используемые сокращения
  • CSS: Cascading stylesheet (Каскадная таблица стилей)
  • HTTP: Hypertext Transfer Protocol (Протокол передачи гипертекстовых файлов)
  • JAR: Java-архив
  • LDAP: Lightweight Directory Access Protocol (протокол LDAP)
  • SQL: Structured Query Language (Язык структурированных запросов)
  • W3C: World Wide Web Consortium (консорциум W3C)
  • XSL-FO: Extensible Stylesheet Language Formatting Objects (Расширяемый язык таблиц стилей — Объекты форматирования)
  • XSLT: Extensible Stylesheet Language Transformations(Расширяемый язык преобразований таблиц стилей — Преобразования)

Как правило, для преобразования данных из XML в HTML и в XSL-FO требуются две XSL-таблицы стилей: одна таблица для преобразования из XML в HTML и другая таблица стилей XSL-FO для преобразования HTML в XSL-FO-документ, который затем преобразуется в PDF с помощью процессора XSL-FO. Другими словами, для такой среды, как веб-приложение, генерирующее отчеты в форматах HTML и PDF, разработчику необходимо написать новую таблицу стилей XSLT, которая преобразует данные в HTML, а затем написать, отладить и сопровождать соответствующую таблицу стилей XSL-FO. Поддержание этих таблиц стилей может оказаться трудным делом, а работа с технологией XSL-FO также далеко не проста. К счастью, отчеты не обязаны быть изощренными, поэтому их разметку можно с легкостью выразить с помощью CSS-файла. Затем такой CSS-файл можно обработать с помощью утилиты CSSToXSLFO , которая способна генерировать нужный XSL-FO-документ после написания лишь небольшого объема программного кода.

Этот процесс и другие подобные ситуации идеально подходят для применения описываемого в данной статье подхода — написания XSLT-таблицы стилей, которая преобразует XML в HTML, с последующим включением в нее нескольких дополнительных CSS-инструкций, позволяющих этой таблице осуществлять преобразование HTML в XSL-FO, а затем в PDF.

Утилита CSSToXSLFO

Утилита CSSToXSLFO поддерживает преобразования XML-документа вместе с CSS-таблицей стилей версии 2 (CSS2) в XSL-FO-документ. Чтобы использовать эту утилиту, я разработал функцию расширения XQuery для XML-СУБД eXist в виде фрагмента модуля расширения XQuery для цифровой публикации.

Эта утилита обрабатывает большую часть спецификаций CSS2. Для поддержки специфических особенностей XSL-FO эта утилита предоставляет несколько CSS-инструкций расширения, которые обычно игнорируются браузерами. Используйте эти свойства в правиле @page раздела @media в таблице стилей CSS. Эти свойства связаны с такими артефактами страницы, как регионы, нумерация, ссылки, заголовки, именованные строки, переносы, сноски, внешние графические элементы и нетипичные элементы. Обязательно просмотрите руководство по утилите CSSToXSLFO (см. раздел Ресурсы) для получения дополнительной информации об этом инструменте и изучения рекомендаций по совершенствованию создаваемой вами таблицы стилей XSLT.

XML-СУБД eXist

eXist-db — это система управления базами данных (СУБД) с открытым исходным кодом, построенная полностью на XML-технологиях (XML-СУБД). Она поддерживает, помимо других стандартов, XQuery, XPath и XSLT. СУБД eXist хранит данные согласно XML-модели данных и обладает высокой степенью совместимости со стандартом XQuery. Хранящиеся данные обрабатываются с помощью XQuery с использованием индекса. Кроме того, эта СУБД поддерживает полнотекстовый индекс на основе Apache Lucene.

XQuery-механизм, применяющийся в СУБД eXist, является расширяемым; соответственно в состав eXist входят различные модули расширения XQuery. Эти модули поддерживают следующие функции расширения XQuery.

  • Глобальный кэш пар «ключ-значение»
  • Разнообразные операции сжатия
  • Дополнительные операции с типами «дата/время»
  • Разнообразные операции с файлами и каталогами
  • HTTP-запросы (XPath-модуль)
  • Операции, применяемые к изображениям, хранящимся в базе данных (получение размеров изображения, создание миниатюр, изменение размеров изображения)
  • Применение интерфейса Java Naming and Directory Interface для доступа к таким каталогам, как LDAP, и для манипулирования этими каталогами
  • Отправка электронных писем в текстовом формате или в формате HTML
  • Календарное планирование выполнения заданий и управление существующими заданиями
  • Выполнение SQL-операций с реляционной СУБД
  • Выявление различий между XML-узлами
  • Представление XSL-FO
  • Функциональность XProc
  • Криптографические операции

И модуль eXist, и утилита CSSToXSLFO написаны на языке Java. На момент написания данной статьи модуль eXist позволяет использовать в качестве XSL-FO-процессора процессор Apache Formatting Objects Processor (FOP) или процессор RenderHouse XEP. Посетите веб-сайт eXist для ознакомления с инструкциями по установке этой СУБД, которые помогут вам выполнить примеры из этой статьи.

eXist-модуль для цифровой публикации

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

Цель этого модуля состоит в том, чтобы служить единым источником для всех функций расширения XQuery, необходимых для цифровой публикации, в том числе для преобразования между следующими форматами: DocBook, Open XML, DOC, DOCX, .html, PDF, TXT, RTF, PPT, PPTX, CSV. Для установки этого модуля в среде eXist выполните следующие шаги:

  1. Загрузите eXist-модуль для цифровой публикации в формате JAR, а затем скопируйте его в каталог $EXIST_HOME/lib/extensions.
  2. Загрузите CSS-файл2xslfo1_6_2.jar, а затем скопируйте его в каталог $EXIST_HOME/lib/user.
  3. Добавьте в раздел встроенных модулей в файле $EXIST_HOME/conf.xml.
Читать еще:  Как изменить формат файла на html

Примеры

В этом разделе анализируется использование утилиты CSSToXSLFO реализованной в eXist-модуле расширения XQuery для цифровой публикации. При решении этой задачи используйте XML-данные, представленные в листинге 1, а также таблицу стилей XSLT (xml-to-html.xsl), включенную в пример кода (см. раздел Загрузка.

Примечание: Чтобы упростить восприятие этой статьи, я не привожу в ней все содержимое используемой таблицы стилей XSLT. Вместо этого я показываю лишь те элементы, которые делают эту таблицу стилей пригодной для преобразования XML в HTML и в PDF.

Примеры будут загружены в XML-СУБД eXist в виде коллекции с именем html-and-pdf-single-stylesheet расположенной в корневой коллекции eXist — это позволит вам просмотреть каждый пример в своем браузере. Например, чтобы просмотреть пример 1, введите в адресной строке своего браузера следующий URL-адрес (предполагается, что СУБД eXist установлена на локальной машине).

Чтобы значительно полнее использовать функциональные возможности инструмента CSSToXSLFO вам не потребуется никакой другой XQuery-код, кроме кода, показанного в листинге 2 и листинге 3. Этот код представляет XML-данные в формате HTML и в формате PDF соответственно. Для дальнейшего совершенствования PDF-документов необходимо добавить CSS-инструкции в CSS-раздел таблицы стилей XSLT.

Листинг 1. XML-документ, представляющий собой сводку выставленных счетов-фактур (файл xml-data.xml в примерах кода)

Первый пример (см. листинг 2), представляет собой XQuery-скрипт, который преобразует XML-данные, представленные в листинге 1 в формат HTML. Этот скрипт использует eXist-функцию transform:transform() , которая, в свою очередь, преобразует XML-данные с помощью таблицы стилей XSLT и (при желании) параметров для преобразования. Вы можете написать таблицу стилей XSLT в соответствии со спецификацией XSLT 1.0 (средствами Apache Xalan) или в соответствии со спецификацией XSLT 2.0 (например, средствами Saxon).

Листинг 2. XQuery-скрипт, преобразующий XML-данные в формат HTML (файл example-01.xql в примерах кода)

На рисунке 1 показан результирующий HTML-документ, отображенный в моем браузере. Этот HTML-документ демонстрирует сведения по трем счетам-фактурам с использованием шрифта без засечек. (Перейдите по ссылке: Текстовая версия форматированного контента, представленного на рис. 1 и на рис. 2).

Рисунок 1. Результат преобразования в формат HTML

Сначала XML-данные преобразуются в формат HTML, как в предыдущем примере. Результирующий HTML-документ содержит все CSS-инструкции, необходимые для представления HTML-документа в желаемом виде, а также специфические CSS-инструкции расширения для CSSToXSLFO , которые позволяют задействовать более изощренные функции XSL-FO.

Для простого сценария применения который описывается этой статье, такие инструкции расширения нам не нужны. Утилита CSSToXSLFO преобразует HTML-документ в XSL-FO-документ, который, в свою очередь, генерирует PDF-документ, весьма похожий на HTML-документ.

После этого мы преобразуем результирующий HTML-документ в XSL-FO-документ с помощью функции html-to-xslfo() , а затем генерируем PDF-документ (см. листинг 3). Для создания PDF-документа используется функция render() eXist-модуля xslfo .

Листинг 3. XQuery-скрипт, преобразующий XML-данные в формат PDF (файл example-02.xql в примерах кода)

На рисунке 2 показан результирующий PDF-документ, отображенный в моем браузере. Этот PDF-документ демонстрирует сведения по трем счетам-фактурам с использованием шрифта с засечками. (Перейдите по ссылке: Текстовая версия форматированного контента, представленного на рис. 1 и на рис. 2.)

Рисунок 2. Результат преобразования в формат PDF

В листинге 4 показаны CSS-инструкции, необходимые для представления XML-данных в формате HTML и в формате PDF. Для получения аналогичного PDF-файла я добавил лишь одну CSS-инструкцию — которая представляет заголовки таблицы с помощью полужирного шрифта.

Листинг 4. CSS-инструкции для аналогичного представления XML-данных в формате HTML и в формате PDF

Заключение

В этой статье для преобразования XML-данных в форматы HTML и PDF я применил простую функцию, которая использует лишь мощь и простоту CSS-синтаксиса, а также несколько инструкций расширения, позволяющих задействовать более сложные функции XSL-FO. Этот подход особенно полезен в ситуациях, когда обрабатываемые отчеты или документы имеют простое стилевое решение.

Введение в XML


Что такое XML?

XML (eXtensible Markup Language) — расширяемый язык разметки. Основное внимание в XML сосредоточено на данных. В XML структурная разметка данных и представление данных строго разделены.

Основные причины создания XML:

  1. попытка предоставить мощные средства форматирования и структурирования данных всем желающим;
  2. необходимость в стабильной реализации языка структурирования документов, для которого легко было бы создавать вспомогательные инструменты, доступные для обычных пользователей.

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

Каждый документ XML должен начинаться с пролога, указывающего версию используемого языка XML и метод кодировки, например:

В примере 1 приведена служебная записка (memo), состоящая из получателя (recipient) и сообщения (message).

Пример 1

Это пример документа XML без разметки представления. Структура записки отражает структуру хранящихся в ней данных. О представлении данных на экране в ней пока что ничего нет. Для создания представления автор должен применить какой-либо метод наложения стилей, например CSS (Cascading Style Sheets — каскадные листы стилей) или XSLT (eXtensible Stylesheet Language Transformations — расширяемый язык преобразования листов стилей).

У многих Web-дизайнеров возникают определенные трудности в связи с абстрактностью XML и произвольным использованием его методов. Однако в действительности XML — это весьма логичная и хорошо организованная технология. Он имеет четкий синтаксис, вынуждающий строго придерживаться определенных правил. Хоть это и не то, к чему привыкли Web-дизайнеры, однако преимущества соблюдения строгих правил весьма велики. Как язык разметки Web-документов XML обладает следующими достоинствами.

  • Гибкость. XML позволяет обрабатывать уникальные данные в коммерческой и медицинской областях. Независимо от характера данных XML способен предоставить адекватные методы их хранения и обработки. Исключение составляют лишь двоичные данные и внедренные сценарии.
  • Возможность настройки. Гибкость XML непосредственно связана с возможностью определять собственные дескрипторы, необходимость в которых возникает в процессе решения задачи.
  • Согласованность. XML отличается синтаксической целостностью и строгой структурой.

С первого взгляда на XML становится очевидно, что он способен полностью заменить HTML как средство разметки Web-страниц. В свое время при появлении XML его даже называли «убийцей HTML».

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

Пример 2

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

Пример 3

На стороне клиента XML способен предоставить разработчикам Web огромные возможности. Поддержку XML содержат браузеры Microsoft Internet Explorer версии 5.0 и выше, а также Netscape Navigator версии 6.0 и выше. Однако даже если во все браузеры будет включена полная поддержка XML, все же останутся некоторые проблемы:

  1. изучить XML труднее, чем HTML;
  2. пока еще недостаточно инструментов для работы с XML в визуальной среде.

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

В отличие от HTML в XML:

  • имеется чувствительность к регистру;
  • все значения атрибутов должны быть заключены в кавычки:
  • каждый тег пустого элемента, не имеющий закрывающего тега, должен иметь косую черту в конце.

Переопределение HTML как приложения XML

Языки HTML и XML предназначены для решения разных задач. Учитывая прекрасную структуру XML и место, реально занимаемое HTML в практике Web-дизайна, было решено объединить HTML и XML. В результате появился XHTML. Появление XHTML означает, что HTML переопределяется как приложение XML. Отныне HTML должен подчиняться правилам XML.

В настоящее время заметно растет интерес к улучшению того, что представлено в Web-браузерах и альтернативных устройствах. Идеология HTML 4.0, перенесенная в XHTML 1.0, переходит в концепцию разработки документов для разных типов устройств.

В версии XHTML 1.0 обязательно строгое соблюдение правил разметки, что способствует улучшению структуры и синтаксиса разметки. Это чрезвычайно важно, так как в настоящее время Web интенсивно выходит за рамки браузеров. Будущий информационный дизайнер должен будет учитывать в своих разработках многочисленные альтернативные пользовательские устройства. Документы должны быть логичными и эстетически привлекательными в таких средах, как пейджеры, PDA (Personal Digital Assistant — персональный цифровой помощник), сотовые телефоны и т.д.

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Конфликты в XML. Пространство имен в XML. Способы именования пространства имен в XML. Как использовать HTML теги в XML документах

  • 04.06.2012
  • XML и XLST
  • Один комментарий

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Сегодня я продолжу рубрику Заметки о XML и XLST. И хочу поговорить о пространстве имен в XML, что такое пространство имен и для чего оно используется, так же затрону тему конфликта имен в XML документе и как бороться с этим явлением, поговорим о том как задать пространство имен в XML документе, сразу скажу, что есть два способа задания пространства имен, первый при помощи атрибута xmlns, а второй при помощи префиксов, посмотрим различие между двумя этими способами. Поговорим о рекомендованных способах именования пространства имен в XML, их так же два. Первый заключается в использование URN, а второй в использование URL. Разберемся, какой из способов, когда и как применяется. Так же мы поговорим о том, как задать пространство имен XML атрибутам. А так же разберемся как можно использовать HTML теги в XML документах и что для этого нужно сделать.

Конфликты в XML документах. Пространство имен в XML документах

Очень важным моментом в XML является конфликт имен тэгов, ведь имена тегов мы придумываем сами, и нет гарантии, что кто-нибудь другой в своем проекте не будет использовать точно такие же имена для своих тегов, как и мы. Например, у меня есть книжный магазин и решил я записывать название книг внутрь тега … , а какой-нибудь Василий Иванович Пупкин использует этот тег для своих каких-то целей, к примеру, продает он аудио пластинки и внутрь тега записывает название фильмов. И все это будет хорошо работать, пока не решим мы с Пупкиным объединиться и вместе продавать книги и пластинки. Получается ситуация, в которой один и тот же XML элемент имеет одинаковое имя, но имеет разный смысл. И наступает процесс именуемый конфликт имен.

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

Если до сих пор непонятно, то можно привести более конкретный пример – файловая система. Все наверное знают, что в одной папке не может находиться два файла с одинаковым названием и расширением. Но можно ведь создать две папки, в одну папку поместить файл document.xml и в другую папку поместить файл document.xml и эти два файла будут прекрасно существовать, и работать, имея различное содержание. Эти два файла для операционной системы будут разные так как она учитывает не только имя файла, но и путь к этому файлу, то есть для операционной системы имя файла состоит из непосредственного имени файл плюс полный путь к этому файлу. Вот как раз из-за этого пути к файлу имена становятся разными и не мешают друг другу.

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

Рекомендации w3.org при именовании пространства имен

Да, w3.org попыталась как-то ограничить процесс придумывания имен для пространства имен и рекомендует нам консорциум два способа именования пространства имен. Обратите внимание, что это не стандарт, а просто рекомендация. Если вы решили дать своему пространству имен какое-то имя, ну например moe-prostranstvo-imen, то начинать это имя рекомендуется с последовательности urn:, а затем уже имя пространства.

Преобразование HTML в XML

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

HTML файлы содержит, таблиц, высота, изображения, П, Б или сильные теги, и т. д..

Я погуглил и нашел несколько приложений, но пока не смог их найти.

Не могли бы вы предложить способ конвертировать содержимое этих файлов в XML?

3 Ответа

Я успешно использовал утилиту командной строки tidy . На linux я быстро установил его с apt-get install tidy . Затем команда:

tidy -q -asxml —numeric-entities yes source.html >file.xml

дал файл xml,который я смог обработать с помощью процессора xslt. Однако мне нужно было правильно настроить xhtml1 dtds.

Это их домашняя страница: html-tidy.org (и наследственная: HTML Tidy )

Я действительно нашел способ преобразовать (даже плохой) html в хорошо сформированный XML. Я начал основывать это на функции DOM loadHTML. Однако в течение времени возникло несколько проблем, и я оптимизировал и добавил патчи для исправления побочных эффектов.

Теперь это также позволяет добавить больше html штук в один XML, который мне нужно было использовать самому. В общем его можно использовать так:

‘ будет красиво обыгрываться в хорошо сформированном XML как ’30’. Тег info root добавлен, так как он также позволит конвертировать ‘

‘, который не является XML, так как он не имеет ни одного корневого элемента. Однако если у вас html точно есть один корневой элемент, то дополнительный корневой тег можно пропустить.

С этим я получаю очень хороший XML из неструктурированного и даже испорченного HTML!

Я надеюсь, что это немного ясно и может помочь другим людям использовать его.

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

Похожие вопросы:

Я сделал приложение ‘RSS Feed’ через разбор XML. Теперь я хочу загрузить содержимое в UIWebView в подробном представлении, но не как общий браузер. Я знаю, что содержимое HTML может быть загружено в.

У меня есть преобразование Xml, которое мне нужно сделать, но у меня есть немного борьбы. Вход Xml выглядит следующим образом. .

Мне нужно преобразовать HTML документов (сгенерированных из DocBook XML документов) в язык разметки Wiki, в частности в язык разметки PM Wiki . Цель состоит в том, чтобы включить руководство по.

У меня есть несколько сущностей HTML в XML, возвращаемых веб-службой как тип XmlDocument . Мне нужно заменить их эквивалентными символами Юникода, прежде чем применять преобразование XSLT. XML.

У меня есть XML-файл и нужно создать HTML-файл с кодировкой Windows-1251, применив преобразование XSL. Проблема заключается в том, что символы Unicode из XSL-файла не преобразуются в HTML Unicode.

Мне нужно разобрать html для проекта и искать хороший парсер html или API, обеспечивающий преобразование из html в xml. Ждем предложений. спасибо всем.

Возможные дубликаты : Преобразование объектов XML/HTML в строку Unicode в Python HTML коды сущностей в текст Как преобразовать HTML сущностей в Unicode и наоборот в Python?

предположим, у меня есть xml внутри документа html, например

Ссылка на основную публикацию
Adblock
detector