Требования и ограничения для коллекций схем XML на сервере
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Язык определения XML-схем (XSD) имеет некоторые ограничения при проверке правильности столбцов SQL, использующих тип данных xml . В следующей таблице приведены сведения об этих ограничениях и рекомендациях по изменению схемы XSD, чтобы она работала с SQL Server. В статьях этого раздела содержатся дополнительные сведения о конкретных ограничениях и рекомендациях по работе с ними.
Товар | Ограничение |
---|---|
minOccurs и maxOccurs | Значения атрибутов minOccurs и maxOccurs должны укладываться в 4-байтовые целые числа. Схемы, которые не соответствуют серверу. |
<xsd:choice> | SQL Server отклоняет схемы, имеющие <частицу xsd:choice> без дочерних элементов, если частица не определена с минимальным значением атрибутаOccurs нулю. |
<xsd:include> | В настоящее время SQL Server не поддерживает этот элемент. XML-схемы, содержащие данный элемент, отклоняются сервером. В качестве решения XML-схемы, включающие <директиву xsd:include> , можно предварительно обработать для копирования и слияния содержимого всех включенных схем в одну схему для отправки на сервер. Дополнительные сведения см. в разделе Предварительная обработка схемы для слияния включаемых схем. |
<xsd:key, xsd:keyref>> и <xsd:unique<> | В настоящее время SQL Server не поддерживает эти ограничения на основе XSD для применения уникальности или установки ключей и ссылок на ключи. Xml-схемы, содержащие эти элементы, не могут быть зарегистрированы. |
<xsd:redefine> | SQL Server не поддерживает этот элемент. Сведения о другом способе обновления схем см. в разделе "<Элемент xsd:redefine>". |
<Значения xsd:simpleType> | SQL Server поддерживает только миллисекундную точность для простых типов, имеющих второй компонент, отличный от xs:time и xs:dateTime, а также точность 100-nanosecond для xs:time и xs:dateTime. SQL Server накладывает ограничения на все распознанные перечисления простых типов XSD. SQL Server не поддерживает использование значения NaN в <объявлениях xsd:simpleType> . Дополнительные сведения см. в разделе "Значения для <объявлений xsd:simpleType>". |
xsi:schemaLocation и xsi:noNamespaceSchemaLocation | SQL Server игнорирует эти атрибуты, если они присутствуют в данных экземпляра XML, вставленных в столбец или переменную типа данных XML . |
xs:QName | SQL Server не поддерживает типы, производные от xs:QName , использующих элемент ограничения схемы XML. SQL Server не поддерживает типы объединения с xs:QName в качестве элемента-члена. Дополнительные сведения см. в разделе Тип xs:QName. |
Добавление элементов к существующей группе замещения | Невозможно добавить участников в существующую группу подстановок в коллекции схем XML. Группа подстановок в схеме XML ограничена тем, что головной элемент и все его элементы-члены должны быть определены в том же {CREATE | Инструкция ALTER} XML SCHEMA COLLECTION. |
Канонические формы и ограничения шаблона | Каноническое представление значения не может нарушать ограничение шаблона для его типа. Дополнительные сведения см. в разделе Канонические формы и ограничения шаблона. |
Аспекты перечисления | SQL Server не поддерживает XML-схемы с типами, имеющими аспекты шаблона или перечисления, которые нарушают эти аспекты. |
Длина аспекта | Аспекты length, minLengthи maxLength хранятся как тип long . Этот тип является 32-разрядным типом. Поэтому для этих значений допускаются значения в пределах 2^31. |
Атрибут идентификатора | Каждый компонент XML-схемы может иметь атрибут ID. SQL Server применяет уникальность для <объявлений атрибутов xsd:attribute> типа идентификатора, но не сохраняет эти значения. Область применения уникальности — {CREATE | Инструкция ALTER} XML SCHEMA COLLECTION. |
Тип идентификатора | SQL Server не поддерживает элементы типа xs:ID, xs:IDREF или xs:IDREFS. Схема не может объявлять элементы этого типа или элементы, полученные ограничением или расширением этого типа. |
Локальное пространство имен | Локальное пространство имен должно быть явно указано для <элемента xsd:any> . SQL Server отклоняет схемы, использующие пустую строку ("") в качестве значения атрибута пространства имен. Вместо этого SQL Server требует явного использования ##local, чтобы указать неквалифицированный элемент или атрибут в качестве экземпляра подстановочного знака. |
Смешанный тип и простое содержимое | SQL Server не поддерживает ограничение смешанного типа простым содержимым. Дополнительные сведения см. в разделе Смешанный тип и простое содержимое. |
NOTATION, тип | SQL Server не поддерживает тип NOTATION. |
Условия исчерпания памяти | При работе с большими коллекциями схем XML может возникнуть состояние вне памяти. Решения этой проблемы см. в разделе Большие коллекции XML-схем и условия нехватки памяти. |
Повторяющиеся значения | SQL Server отклоняет схемы, в которых блок или окончательный атрибут имеет повторяющиеся значения, такие как ограничение ограничений и расширение расширения. |
Идентификаторы компонента схемы | SQL Server ограничивает идентификаторы компонентов схемы максимальной длиной 1000 символов Юникода. Кроме того, в идентификаторах не поддерживаются суррогатные пары символов. |
Информация о часовом поясе | В SQL Server 2008 (10.0.x) и более поздних версиях сведения часового пояса полностью поддерживаются для значений часового пояса xs:date, xs:time и xs:dateTime для проверки схемы XML. При использовании режима обратной совместимости SQL Server 2005 (9.x) информация часового пояса всегда нормализуется по универсальному времени (среднее время Гринвича). Для элементов типа dateTime сервер преобразует и вернет указанное время во время по Гринвичу, используя величину смещения (-05:00). |
Типы объединения | SQL Server не поддерживает ограничения из типов профсоюзов. |
Десятичные числа переменной точности | SQL Server не поддерживает десятичные разряды переменной точности. Тип xs:decimal представляет десятичные числа произвольной точности. Обработчики XML, соответствующие минимальным требованиям, должны поддерживать десятичные числа как минимум totalDigits=18 знаков. SQL Server поддерживает totalDigits=38, , но ограничивает дробные цифры до 10. Все экземпляры значений xs:decimal внутренне представляются сервером в виде числового типа SQL (38, 10). |
Следующие шаги
Канонические формы и ограничения шаблона
Объясняет канонические формы и ограничения шаблона.Компоненты-шаблоны и проверка достоверности содержимого
Описывает ограничения использования символов-шаблонов, нестрогой проверки и элементов anyType с коллекциями XML-схем.Элемент <xsd:redefine>
Объясняет ограничение использования <элемента xsd:redefine> и описывает обходное решение.Тип xs:QName
Описывает ограничение, связанное с типомxs:QName
.Значения для <объявлений xsd:simpleType> Описывает ограничения, применяемые к
<xsd:simpleType>
объявлениям.Аспекты перечисления
Описывает ограничение, связанное с аспектами перечислений.Смешанный тип и простое содержимое описывает ограничение на ограничение смешанного типа на простое содержимое.
Большие коллекции схем XML и условия нехватки памяти
Содержит решения проблемы с нехваткой памяти, которая может возникнуть при работе с большими коллекциями схем.Недетерминированные модели содержимого описывают ограничения, касающиеся недетерминированного кона режим палатки ls.