Newcomposers.ru

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

Перевод html в xml

Введение в 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 — персональный цифровой помощник), сотовые телефоны и т.д.

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. На следующем рисунке показана работа подобных систем. Файл данных проверяется на соответствие правилам схемы, а затем передается любым пригодным способом для преобразования. В этом случае преобразование размещает данные в таблице на веб-странице.

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

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

Корпорация Майкрософт и растущее число других компаний создают преобразования для различных задач, что делает использование 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: Отображение вкладки «Разработчик».

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

I. Коротко об XML¶

Введение в XML¶

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

Простейший XML-документ выглядит следующим образом:

Первая строка — это XML декларация. Здесь определяется версия XML (1.0) и кодировка файла. На следующей строке описывается корневой элемент документа (открывающий тег). Следующие 4 строки описывают дочерние элементы корневого элемента ( title , author , year , price ). Последняя строка определяет конец корневого элемента (закрывающий тег).

Документ XML состоит из элементов (elements). Элемент начинается открывающим тегом (start-tag) в угловых скобках, затем идет содержимое (content) элемента, после него записывается закрывающий тег (end-teg) в угловых скобках.

Элементы могут содержать атрибуты, так, например, открывающий тег имеет атрибут lang , который принимает значение en . Значения атрибутов заключаются в кавычки (двойные или ординарные).

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

Структура XML¶

XML документ должен содержать корневой элемент. Этот элемент является «родительским» для всех других элементов.

Все элементы в XML документе формируют иерархическое дерево. Это дерево начинается с корневого элемента и разветвляется на более низкие уровни элементов.

Все элементы могут иметь подэлементы (дочерние элементы):

Правила синтаксиса (Валидность)¶

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

Основные правила синтаксиса XML:

  1. Теги XML регистрозависимы — теги XML являются регистрозависимыми. Так, тег не то же самое, что тег .

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

  1. XML элементы должны соблюдать корректную вложенность:
  1. У XML документа должен быть корневой элемент — XML документ должен содержать один элемент, который будет родительским для всех других элементов. Он называется корневым элементом.
  1. Значения XML атрибутов должны заключаться в кавычки:

Сущности¶

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

В примере ниже будет сгенерирована ошибка, так как в значении «ООО » атрибута НаимОрг содержатся символы и > .

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

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

Только символы и & строго запрещены в XML. Символ > допустим, но лучше его всегда заменять на сущность.

Таким образом, корректными будут следующие формы записей:

В последнем примере английские двойные кавычки заменены на французские кавычки («ёлочки»), которые не являются служебными символами.

Поиск информации в XML файлах (XPath)¶

XPath ( англ. XML Path Language) — язык запросов к элементам XML-документа. XPath расширяет возможности работы с XML.

XML имеет древовидную структуру. В документе всегда имеется корневой элемент (инструкция к дереву отношения не имеет). У элемента дерева всегда существуют потомки и предки, кроме корневого элемента, у которого предков нет, а также тупиковых элементов (листьев дерева), у которых нет потомков. Каждый элемент дерева находится на определенном уровне вложенности (далее — «уровень»). У элементов на одном уровне бывают предыдущие и следующие элементы.

Это очень похоже на организацию каталогов в файловой системе, и строки XPath, фактически, — пути к «файлам» — элементам. Рассмотрим пример списка книг:

XPath запрос /bookstore/book/price вернет следующий результат:

Сокращенная форма этого запроса выглядит так: //price .

С помощью XPath запросов можно искать информацию по атрибутам. Например, можно найти информацию о книге на итальянском языке: //title[@lang=»it»] вернет Everyday Italian .

Чтобы получить больше информации, необходимо модифицировать запрос //book[title[@lang=»it»]] вернет:

В приведенной ниже таблице представлены некоторые выражения XPath и результат их работы:

Кодировки¶

И еще один важный момент, который стоит рассмотреть — кодировки. Существует множество кодировок, о них подробнее можно прочитать в статье Набор символов.

Самыми распространенными кириллическими кодировками являются Windows-1251 и UTF-8 . Последняя является одним из стандартов, но большая часть ФНС отчетности имеет кодировку Windows-1251 .

В XML файле кодировка объявляется в декларации:

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

В большинстве случаев при работе с русскоязычными файлами помогает переключение кодировки на Windows-1251 или UTF-8 . Если все равно не удается прочитать содержимое XML документа, стоит открыть его в Mozilla Firefox, он отлично распознает кодировки.

Если ничего не помогает, вполне возможно, что файл был поврежден.

XSD схема¶

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

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

  • словарь (названия элементов и атрибутов);
  • модель содержания (отношения между элементами и атрибутами и их структура);
  • типы данных.

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

Подробнее об XSD смотрите:

Примером использования XSD cхем может служить электронная отчетность:

Как перевести HTML-структуру в XML?

1 JoshR [2015-01-23 20:15:00]

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

Но все это в одной строке:

Как я могу перевести его в XML следующим образом:

Это звучит просто, но я не знаю, с чего начать!

html xml parsing

1 ответ

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

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

Хороший способ сделать это — с системой преобразования программ (PTS). Хорошая PTS позволит вам определять парсеры и prettyprinters для (грязных) HTML и XML; вы можете разобрать HTML, и PTS будет соответствовать AST, как это было предложено в предыдущем абзаце. Значение в PTS заключается в том, что вы обычно можете определять правила преобразования, используя «поверхностный синтаксис» исходного и целевого языков, например, вы можете сказать «если вы видите этот шаблон HTML, а затем замените его на этот шаблон XML. Примеры:

Это правило соответствует HTML AST (не текст) для div только с текстовым контентом и сопоставляет его с тегом XML, соответствующим атрибуту класса, с тем же текстовым контентом, который соответствует части того, что хочет OP. Двойные кавычки являются мета кавычками, чтобы отличать синтаксис правила перезаписи от синтаксиса источника или целевого языка. Компонент match-to написан в синтаксисе HTML с метапеременными экранами a иt, соответствующими найденным значениям, которые удовлетворяют совпадению. Обратите внимание, что это правило может соответствовать только тегам HTML, которые содержат только текст в качестве своего тела, из-за ограничения на t. Заменяемая часть генерирует желаемый тег и содержимое XML, подставляя значения согласованных метапеременных.

Для более сложной части примера OP, где HTML-контент — это не просто текст, нам нужно это правило:

C будет соответствовать чему угодно, так что слишком общее, но дополнительное ограничение «if» проверяет, что c не является text_content. Это правило будет выполняться там, где прежнее правило не будет, и наоборот.

Я думаю, что он охватывает весь пример OP, основы.

Без каких-либо других ограничений оба правила будут выполняться в любом случае в AST, и порядок применения этих правил не имеет значения. Понятно, что каждое правило преобразует «желтые» узлы HTML в «синие» узлы XML; в совокупности правила превращают все желтые пятна в синие пятна.

OP, вероятно, нуждается в дополнительных правилах, чтобы перевести другие части HTML-документа в XML любым способом, который он хочет; HTML — довольно большой язык, ему, возможно, придется написать кучу правил, чтобы правильно заполнить это. Дело в том, что он может писать правила в основном в этом же стиле синтаксиса поверхности [как практический вопрос, вам часто приходится добавлять какой-то процедурный код в правила, чтобы все это склеивалось правильно, намного меньше, чем чистый ad hoc путь]. (Написание этого как ad hoc-кода не сэкономит никаких усилий, OP все равно придется обрабатывать все типы тегов HTML).

Различные PTS выражают правила по-разному. Я использую синтаксис правила перезаписи из моего собственного PTS [DMS Software Reengineering Toolkit]. В идеале, PTS уже имеет доступные определения HTML и XML; DMS делает.

Перевод XML-документов с помощью xml:tm

Введение

Существуют различные подходы к оптимизации процесса перевода.

Машинный перевод

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

Переводческая память

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

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

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

Перевод XML -документов

Особого упоминания стоят некоторые важные стандарты, основанные на XML , касающиеся технологии перевода:

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

xml:tm

В основе xml:tm лежит концепция «текстовой памяти». Текстовая память состоит из двух компонентов:

Авторская память

Следующая диаграмма показывает, как пространство имён tm привязывается к существующему XML -документу:

Ниже приведён пример фрагмента документа, использующего xml:tm . Элементы xml:tm подсвечены красным, при этом показано, как xml:tm привязывается к существующему XML -документу.

И скомпонованный документ:

Переводческая память

Когда документ в пространстве имён xml:tm готов к переводу, само пространство имён указывает текст, который необходимо перевести. Пространство tm может быть использовано для создания XLIFF -документа на перевод.

XLIFF

Текст, подсвеченный розовым, обозначает места, в которых переведённый текст заменит текст на исходном языке, как показано ниже:

По завершении перевода текст на целевом языке может быть объединён с исходным документом для создания новой версии документа на целевом языке. В итоге получается идеально упорядоченный исходный документ и документ на целевом языке.

Ниже приводится пример переведённого документа xml:tm :

Вот пример скомпонованного переведённого текста:

Исходный и целевой текст связаны на уровне предложения уникальными идентфикаторами xml:tm . При редактировании документа изменённым и новым текстовым единицам назначаются новые идентификаторы. При извлечении текста на перевод из обновлённого исходного документа текстовые единицы, которые не были изменены, могут быть автоматически замещены текстом на целевом языке. Получающийся при этом XLIFF -файл может выглядеть следующим образом:

Идеальное совпадение

Следующая диаграмма показывается, как работает идельное совпадение:

Совпадение с xml:tm

xml:tm даёт гораздо более сфокусированные типы совпадений чем традиционные системы переводческой памяти. Существуют следующие типы совпадений.

Авторская память даёт точные подробности о любых изменениях в документе. Там, где текстовые единицы для ранее переведённого документа не были изменены, можно сказать, что мы имеем идеальное совпадение. Понятие идеального совпадения является ключевым. С традиционными системами переводческой памяти переводчику всё равно приходится проверять каждое совпадение, т. к. нет способа проверить уместность совпадения. Проверка обычно оплачивается по ставке 60% от стоимости стандартного перевода. С идеальным совпадением необходимость проверки отпадает, что положительно отражается на стоимости перевода.

Регулируемые совпадения в документе.

xml:tm кроме того может использоваться для регулируемых совпадений в документе, которые более будут соответствовать заданному документу чем обычные регулируемые совпадения переводческой памяти.

При переводе документа xml:tm процесс перевода обеспечивает идеально совмещённые текстовые единицы на исходном и целевом языке. Они последовательно и автоматически могут использоваться для создания дополнительной переводческой памяти.

Нечёткие совпадения в документе.

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

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

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

Ниже приведён пример непереводимого текста в xml:tm :

И пример скомпонованного текста:

Подсчёт слов

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

XLIFF и перевод онлайн

Схема традиционного перевода:

В схеме перевода с помощью xml:tm вся обработка происходит в среде клиента:

Пример онлайновой переводческой среды находится по адресу http://www.xml-intl.com/demo/trans.html

Преимущества использования xml:tm

Ниже приведён список основных преимуществ подхода xml:tm к созданию и переводу текстов:

Возможность строить последовательные системы авторской разработки.

Автоматическое создание статистики написания текста.

Автоматическое совмещение исходного и целевого текста.

Совмещённые тексты могут быть использованы для заполнения таблиц баз данных авторской памяти для регулируемых совпадений.

Идеальное совпадение перевода для неизменных текстовых единиц.

Регулируемые совпадения и совпадения изменённых текстовых единиц в документе.

Автоматическое создание статистики подсчёта слов.

Автоматическое создание идеальных, регулируемых, ранее изменённых или нечётких совпадений.

Защита структуры исходного документа.

Вохможность создания онлайн-доступа для переводчиков.

Возможность незаметного использования для переходных переводов.

Заключение

xml:tm — основанная на пространствах имён технология, созданная и поддерживаемая компанией Xml-Intl и опирающаяся на XML и XLIFF , что является плюсом для сообщества XML . Подробности определений xml:tm (определение типа данных XML и XML -схема) находятся на сайте Xml-Intl. Помимо этого Xml-Intl поставляет реализацию xml:tm с использованием Java и Oracle , включающую лингвистически направленные совпадения, как регулируемые базой данных, так и нечёткие.

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

xml:tm более всего подходит для реализации на уровне предприятия для фирм с большими ежегодными потребностями в переводе и большими системами управления документами. В процессе реализации xml:tm интегрируется в систему управления документами клиента.

Подход xml:tm уменьшает стоимость перевода следующими средствами:

Переводческая память хранится клиентом в документах.

Идеальное совпадение уменьшает стоимость перевода, устраняя необходимость проверки таких совпадений переводчиками.

Совпадение переводческой памяти сфокусировано гораздо лучше чем в случае с традиционными системами переводческой памяти, что даёт лучшие результаты.

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

Всё переводческая память, извлечение и слияние происходят автоматически, нет необходимости ручного вмешательства.

Перевод может делаться прямо через сайт клиента.

Читать еще:  Как задать координаты в html
Ссылка на основную публикацию
Adblock
detector