Я сегодня ссылался на XSD spec, осматривая определение десятичного типа. В ней я нашел две различных противоречивые определения типа данных, лексического определения и канонического определения цитируемых ниже:Разница между лексическим и каноническим представлением в XSD spec
3.2.3.1 лексической репрезентации
десятичного имеет лексическое представление, состоящую из конечная длина Последовательность десятичных цифр (# x30- # x39), разделенная периодом как десятичный индикатор . Допустимый ведущий знак разрешен. Если знак « » опущен, предполагается «+». Ведущие и конечные нули являются необязательными. Если дробная часть равна нулю, период и следующий нуль (es) можно опустить. Например: -1.23, 12678967.543233, +100000.00, 210.
3.2.3.2 Каноническое представление
Каноническое представление для десятичной определяется путем запрета определенные параметры из лексического представления (§ 3.2.3.1). В частности, предыдущий необязательный знак «+» запрещен. Требуется десятичная точка . Ведущие и конечные нули запрещены к следующему: должно быть не менее одной цифры справа и слева от десятичной точки, которая может быть равна нулю.
В целом, лексическое представление допускает отсутствие десятичной точки и конечные нули, если дробная часть десятичного равно нуль, в то время как каноническое представление в явном виде указывается требуется десятичный.
Какое из этих определений является «правильным»? Мое приложение отправляет лексическое представление, а потребляющее приложение ожидает канонического представления.
Спасибо за этот ответ. Друг по кодированию также нашел эту статью, которая действительно помогла мне понять, что это был меньше вопрос спецификации xml и фактически вопрос, общий для любого определения типа данных на любом языке или спецификации (я нашел изображения, особенно иллюстрирующие концепцию): http: //www.oracle.com/technetwork/articles/srivastava-datatypes-087961.html – Russ