Почему xs: precisionDecimal не является частью XSD1.1? - PullRequest
1 голос
/ 21 апреля 2020

Хотя везде утверждается, что xs:precisionDecimal принадлежит схеме XML 1.1 (см. https://www.ibm.com/developerworks/xml/library/x-xml11pt1/ или https://www.w3.org/TR/xsd-precisionDecimal/), я не могу найти какое-либо определение для xs:precisionDecimal под https://www.w3.org/2001/XMLSchema. Если я нажимаю на ссылки в разделе XML Schema, они являются определениями для многих типов (например, int, double, string и c.), Но не для PrecisionDecimal.

Где я могу найдите определение для xs:precisionDecimal и почему оно не является частью https://www.w3.org/2001/XMLSchema?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2020

Эта функция присутствовала в черновиках XSD 1.1, но была перенесена на довольно поздней стадии.

Я был активен в рабочей группе, когда было принято это решение. Вопрос стал довольно острым, поскольку IBM решительно выступала за добавление PrecisionDecimal, а Oracle категорически против (большинство других не чувствовали себя так или иначе); но, как это часто бывает в работе со стандартами, я думаю, что позиции основывались больше на технических суждениях отдельных лиц, чем на деловых интересах корпораций.

Я лично выступал против добавления xs:precisionDecimal на том основании, что рабочим группам XQuery и XSLT придется определять операционную семантику (в частности, правила для арифметики c), которая, вероятно, будет гораздо больше работы, чем просто определение типа данных для целей проверки. Также существовала проблема циклических c зависимостей: поскольку в утверждениях XSD 1.1 используется XPath, было трудно добавить новый примитивный тип данных в XSD без одновременного определения операционной семантики XPath для этого типа данных; это дало рабочим группам XQuery и XSLT возможность использовать это решение, и никто из рабочих групп XQuery и XSLT не был заинтересован в выполнении этой работы. (Дон Чемберлин из IBM написал план того, какие изменения потребуются, на https://www.w3.org/XML/2007/dc.pd.html; но вскоре после этого он ушел из IBM и рабочих групп)

В конце концов, решение Чтобы извлечь это из спецификаций, нужно было исходить из того, что для добавления функции в W3 C spe c требуется высокий уровень согласия, а не 50% -ное большинство.

3 голосов
/ 21 апреля 2020

На момент публикации статьи IBM DeveloperWorks (2008 г.) xs:precisionDecimal планировалось для XSD 1.1 и было на W3 C XML языке определения схемы (XSD) 1.1, W3 C Рабочий проект 20 июня 2008 г. .

К W3 C Кандидатская рекомендация 21 июля 2011 г. , xs:precisionDecimal удалено:

precisionDecimal тип данных был удален, так как в сообществе не хватает консенсуса для его сохранения.

Это, как вы заметили, не является частью текущей рекомендации, W3 C XML Язык определения схемы (XSD) 1.1 Часть 2: Типы данных, W3 C Рекомендация 5 апреля 2012 года .

...