XML схемы и дата и время - PullRequest
       29

XML схемы и дата и время

1 голос
/ 05 августа 2010

Я начинаю новый проект, который включает в себя интенсивное использование XML и схем на разных платформах (Windows, Windows Mobile, Iphone, Ipad и другие, которые еще предстоит открыть!). Эта xml-платформа должна иметь возможность обмениваться датами со всего мира, поскольку наш продукт в настоящее время внедряется в Австралии, а также в Канаде и США.

Дата и время, как правило, являются одним «типом», вызывающим большинство проблем между различными платформами и языками.

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

Я бы хотел понять плюсы и минусы каждого из вариантов выше.

РЕДАКТИРОВАТЬ: Добавлено 2 дополнительных вопроса, чтобы получить больше ясности

  1. если используется простой тип xml даты «type», как мне убедиться, что все клиенты правильно пишут дату в этом формате?

  2. Я знаю, что .net, который я могу использовать DateTime.ToUniversalTime (), имеют ли другие языки эквивалент, или это dll для написания XML, которые управляют преобразованием в международное время?

Спасибо Пит

1 Ответ

3 голосов
/ 05 августа 2010

«Встроенные» типы дат в схеме XML являются международным стандартом.Я не могу себе представить, как вы могли бы добиться большего, чем это самостоятельно.


Из Схема XML: объектно-ориентированные описания W3C для XML Эрика ван дер Влист, глава16, «Справочное руководство по типам данных», «xs: dateTime»:

Описание

Этот тип данных описывает моменты (sic), идентифицируемые комбинацией даты и времени.Его пространство значений описывается как «комбинация даты и времени дня» в главе 5.4 стандарта ISO 8601. Его лексическое пространство - это расширенный формат »[-] CCYY-MM-DDThh: мм: сс [Z | (+ | -) чч: мм]».Часовой пояс может быть указан как «Z» (UTC) или «(+ | -) чч: мм».Часовые пояса, которые не указаны, считаются «неопределенными».

Пример

Допустимые значения для xs:dateTime включают: "2001-10-26T21: 32: 52", "2001-10-26T21: 32: 52 + 02: 00", "2001-10-26T19: 32: 52Z "," 2001-10-26T19: 32: 52 + 00: 00 "," -2001-10-26T21: 32: 52 "или" 2001-10-26T21: 32:52.12679 ".

Следующие значения будут недействительными:" 2001-10-26 "(должны быть указаны все детали)," 2001-10-26T21: 32 "(должны быть указаны все детали),«2001-10-26T25: 32: 52 + 02: 00» (часовая часть (25) выходит за допустимые пределы) или «01-10-26T21: 32» (должны быть указаны все детали).


Обратите внимание, что вы можете указать часовой пояс, ограничив значение ограничением pattern.

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