6.7.1 Элементы метаданных в виде свободного текста
В настоящем стандарте элемент свободного текста может включать в себя множественные экземпляры информации на разных языках. Там, где язык отличается от языка, определенного для всего набора данных, он может быть идентифицирован вместе с необязательным атрибутом, который определяет вариант языка, используемого в конкретной стране, и набор символов, используемых, когда они отличаются от значения по умолчанию для всего набора данных. При необходимости в настоящем стандарте, где указан "free text" в качестве домена, может использоваться класс PT_FreeText. Национальная и культурная среда (локаль) (обозначается как PT_Locale) - это комбинация языка, иногда страны, и символьной кодировки (то есть набора символов), выраженная локализованными строками символов. Экземпляр Free text, следовательно, есть CharacterString (с его значением, выраженным в языке по умолчанию и наборе символов, которые могут быть определены в экземпляре MD_Metadata). В приложении D представлен многоязычный пример. Схема PT_Locale указана на рисунке 23. Словарь данных для этой диаграммы приведен в таблице В.18.2 приложения В.
Рисунок 23 - Схема PT_Locale
6.7.2 Управление локализованными строками
Экземпляр свободного текста состоит из строк символов по умолчанию и их переводов в разные локали посредством использования локализованных строк. Эта конструкция предполагает распределение локализованных строк по всему многоязычному набору метаданных. Однако более общий способ управления многоязычными наборами информации состоит в группировании локализованных строк по их локалям. Чтобы упростить управление локализованными строками, настоящий стандарт описывает концепцию контейнера локали (идентифицированный как PT_LocaleContainer). Контейнер локали агрегирует набор локализованных строк, связанных с данной локалью (атрибут локали PT_LocaleContainer). Между контейнером локали и набором метаданных отсутствует прямая связь, за исключением того, что контейнер локали может агрегировать локализованные строки набора метаданных.
Эта концепция контейнера перевода является особенно полезной с точки зрения XML-реализации серии стандартов ИСО 19115, но она применима к любой другой реализации. Действительно, XML-файл может поддерживать только данные, выраженные в одном наборе символов, который обычно объявлен в заголовке файла XML. Хранение всех локализованных строк в одном файле XML ограничило бы использование одного набора символов, такого как UTF-8. Во избежание этого:
- класс LocalisedCharacterString реализован специально так, чтобы позволить ссылку на себя из свойства PT_FreeText.textGroup;
- класс PT_LocaleContainer является рекомендованным корневым элементом для установки экземпляра класса в специализированный XML-файл.
Локализованная строка, связанная с данной локалью, может храниться в соответствующем контейнере локали (то есть XML-файле), и на нее можно ссылаться из экземпляров свойств PT_FreeText.textGroup. Контейнер перевода указан на рисунке 24. Словарь данных для этой диаграммы приведен в таблице В.2 приложения В.
Рисунок 24 - Расширения и профили метаданных контейнера перевода
Приложение C предоставляет руководство по расширению метаданных и правила создания профилей для лучшего удовлетворения специальных нужд пользователей.