ONIX XML Structure - Структура электронного описания товара в ONIX XML
[ Чудин Андрей ]
Структура электронного описания товара
Электронное сообщение ONIX XML состоит из 4-х частей: начало сообщения, заголовок сообщения, блок описания издания, конец сообщения.
начало сообщения
<?xml version="1.0"?>
<!DOCTYPE ONIXMessage SYSTEM
"http://www.editeur.org/onix/2.1/reference/onix-international.dtd">
<ONIXMessage>
заголовок сообщения
<Header>
информация в заголовке
</Header>
блок описания изданий
<Product>
информация о товаре
</Product>
<Product>
информация о товаре
</Product>
<Product>
........................
........................
</Product>
конец сообщения
</ONIXMessage>
Начало сообщения
Начало сообщения состоит из стандартной декларации XML, объявления типа документа и открывающего тега ONIX - ONIXMessage. Этот заголовок описывается следующими четырьмя строками:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE ONIXMessage SYSTEM
"http://www.editeur.org/onix/2.1/reference/onix-international.dtd">
<ONIXMessage>
Первая строка - "декларация XML" - указывает, что документ составлен по стандарту XML версии 1.0. Атрибут encoding указывает на то, какой набор символов используется в документе. Значение "windows-1251" соответствует кириллице. Вторая и третья строки вместе указывают на тип XML документа. Тип XML документа определяет его структуру и допустимое содержание и для ONIX должен соответствовать требованиям ONIX XML DTD версии 2.1, расположенным по адресу "http://www.editeur.org/onix/2.1/reference/onix-international.dtd". Тип документа предназначен программной проверки корректности XML документа. При использовании коротких тегов следует указывать ссылку на "http://www.editeur.org/onix/2.0/short/onix-international.dtd":
<?xml version="1.0"? encoding="windows-1251"?>
<!DOCTYPE ONIXmessage SYSTEM
"http://www.editeur.org/onix/2.1/short/onix-international.dtd">
<ONIXmessage>
Полные наборы DTD файлов можно загрузить с сайта www.editeur.org.
Четвертая строка - ONIXmessage - отмечает начало собственно информационного сообщения. В теге ONIXmessage возможно указание на пространство имен, используемое в сообщении. Такое указание полезно, если ONIXmessage находится внутри другого XML документа. Для коротких тегов ссылка на пространство имен имеет вид:
<ONIXmessage xmlns="http://www.editeur.org/onix/ShortNames/">
Для полных тегов:
<ONIXMessage xmlns="http://www.editeur.org/onix/ReferenceNames/">
Заголовок сообщения
Содержание сообщения начинается с заголовка. Заголовок сообщения содержит информацию о дате и номере сообщения, об отправителе и адресате сообщения, а также ряд необязательных элементов.
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE ONIXmessage SYSTEM
"http://www.editeur.org/onix/2.1/reference/onix-international.dtd">
<ONIXmessage>
<Header>
<FromSAN>7701015478</FromSAN>
<FromCompany>ООО "Продавец"</FromCompany>
<FromPerson>И. Иванов</FromPerson>
<ToSAN>7701023055</ToSAN>
<ToCompany>ООО "Покупатель"</ToCompany>
<ToPerson>П. Петров</ToPerson>
<MessageNumber>1</MessageNumber>
<SentDate>15.01.2004</SentDate>
<DefaultLanguageOfText>rus</DefaultLanguageOfText>
<DefaultCurrencyCode>RUR</DefaultCurrencyCode>
<DefaultPriceTypeCode>05</DefaultPriceTypeCode>
<MessageNote>Обновление январского прайс-листа</MessageNote>
</Header>
</ONIXmessage>
В приведенном примере заголовка указано, что сообщение исходит от компании ООО " Продавец " с ИНН 7701015478 и предназначено для ООО " Покупатель " с ИНН 7701023055. Указание ИНН отправителя и получателя является обязательным, поскольку позволяет точно идентифицировать обоих контрагентов. Также в заголовке указывается дата создания сообщения, язык текста в соответствии с ISO 639-2/B и используемая валюта (ISO 4217 - см. приложение). Очень важный элемент - DefaultPriceTypeCode - вид цен, которые используются в документе. Значение 01 указывает на то, что в сообщении указаны рекомендуемые розничные цены без учета НДС и прочих налогов, 02 - рекомендуемые розничные цены с учетом налогов, 05 и 06 - оптовые цены без учета налогов и с учетом налогов соответственно. Всего предусмотрено более 20 видов цен, полный список которых приведен в приложении к ОСТ. Если тип цены не указан, то предполагается, что используются оптовые цены без учета налогов (код 05).
Для сокращения объема сообщения можно использовать короткие обозначения тегов. В этом случае тот же пример заголовка будет выглядеть так:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE ONIXmessage SYSTEM
"http://www.editeur.org/onix/2.0/reference/onix-international.dtd">
<ONIXmessage>
<Header>
<m173>7701015478</m173>
<m174>ООО "Продавец"</m174>
<m175>И. Иванов</m175>
<m177>7701023055</m177>
<m178>ООО "Покупатель"</m178>
<m179>П. Петров</m179>
<m180>1</m180>
<m182>15.01.2004</m182>
<m184>rus</m184>
<m186>RUR</m186>
<m185>05</m185>
<m183>Обновление январского прайс-листа</m183>
</Header>
</ONIXmessage>
Элементы, содержащие ИНН отправителя (FromSAN) и адресата (ToSAN) в оригинальном стандарте ONIX XML предназначены для американского рынка и в них указывается семизначный код адреса (Standard Address Number). Для российской адаптации ONIX XML этот элемент используется для указания ИНН, то есть играет ту же роль, но применим только в России.
Конец сообщения
ОNIX-сообщение заканчивается строкой:
</ONIXmessage>
Специальные символы
Символы "&" и "<" имеют служебное назначение в XML. Их недопустимо использовать в элементах XML-сообщений и следует заменять в соответствии с приведенными ниже правилами.
Символ | Кодирование в XML |
& | & |
< | < |
К примеру, текст Дашков&Ко следует передавать как Дашков&Ко.
все статьи раздела Электронный обмен информацией в книжной отрасли.
|