powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите сделать XSD схему
14 сообщений из 14, страница 1 из 1
Помогите сделать XSD схему
    #39630048
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, я тут пытаюсь создать на сервере схему, в которой есть типа данных, основанный на xs:double .
У этого типа данных установлен фасет minInclusive = "0.0" .

Так вот, при попытке создать схему, сервак выкидывает эррор, о том, что такое представление "0.0" недопустимо для типа с плавающей точкой.

Точно также он ругается относительно "0" и "0e0"', при этом, судя по спецификации XML с сайта W3, всё должно работать.

В то же время, схема с minInclusive = "0.00000001" отлично создается.

Гугл перерыл, стэковерфлоу перерыл, ответ не нашёл.
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39630054
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile, The canonical representation for zero is 0.0E0.
Тоже не того?
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39631038
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
Сообщение 6926, уровень 16, состояние 1, строка 3
Проверка XML: недопустимое значение простого типа: "0.0E0".
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39631040
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверка XML: недопустимая каноническая форма значения "0" согласно указанному типу.
Проверка XML: недопустимая каноническая форма значения "0.0" согласно указанному типу.
Проверка XML: недопустимое значение простого типа: "0e0
Проверка XML: недопустимое значение простого типа: "0.0e0".
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39631064
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,

хм, у меня нормально такую создает
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
create xml schema collection [test]
as
'<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xsd:element name="Message" type="MessageArray" nillable="true" />
  <xsd:complexType name="MessageArray">
    <xsd:complexContent>
	  <xsd:restriction base="xsd:anyType">
	    <xsd:sequence>
	      <xsd:element name="MessageContext" maxOccurs="unbounded">
		    <xsd:simpleType>
		      <xsd:restriction base="xsd:double">
			       <xsd:minInclusive value="0.0"/>
		               <xsd:maxInclusive value="5.0"/>
			  </xsd:restriction>
		    </xsd:simpleType>
		  </xsd:element>
	    </xsd:sequence>
	   </xsd:restriction>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:schema>'
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39631077
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileПроверка XML: недопустимая каноническая форма значения "0" согласно указанному типу.
Проверка XML: недопустимая каноническая форма значения "0.0" согласно указанному типу.
Проверка XML: недопустимое значение простого типа: "0e0
Проверка XML: недопустимое значение простого типа: "0.0e0".Вы бы код показали, реальный, или сделали бы репро, если реальные данные секретны.
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632314
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего секретного.


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
CREATE XML SCHEMA COLLECTION [d] AS

N'
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://dol.minstroyrf.ru/v1.3/eqconcom.xsd"
           xmlns:mecc="http://dol.minstroyrf.ru/v1.3/eqconcom.xsd"
           attributeFormDefault="unqualified"
           elementFormDefault="qualified"
           version="1.3">

    <xs:attributeGroup name="DecAttrGroup">
        <xs:attribute name="part" type="xs:token" use="optional">
          <xs:annotation>
            <xs:documentation>
              Идентификатор блока данных согласно форме декларации
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>

  
    <xs:complexType name="BaseDoubleType">
        <xs:annotation>
            <xs:documentation>Базовый тип для чисел с плавающей запятой</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:double">
                <xs:attributeGroup ref="mecc:DecAttrGroup"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

   
    <xs:complexType name="CostType">
        <xs:annotation>
            <xs:documentation>
                Финансовый тип.
            </xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:restriction base="mecc:BaseDoubleType">
                <xs:pattern value="-?\d+(\.\d{1,2})?"/>
            </xs:restriction>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="PositiveCostType">
        <xs:annotation>
            <xs:documentation>
                Финансовый тип - >=0.
            </xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:restriction base="mecc:CostType">
                <xs:minInclusive value="0.00"/>
            </xs:restriction>
        </xs:simpleContent>
    </xs:complexType> 
</xs:schema>'
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632458
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,

а так у вас там pattern ограничение.

в таком случае ознакомьтесь: https://docs.microsoft.com/en-us/sql/relational-databases/xml/canonical-forms-and-pattern-restrictions?view=sql-server-2017
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632484
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileНичего секретного.Если вы задаёте шаблоны для констант, то логично будет при любых непонятках с заданием констант посмотреть на эти шаблоны.
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632504
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я не шарю, это не мои схемы. Это мне прислали с просьбой пролить на сервер. А они не льются.

Я так понимаю там косяк вот в этом коде?

<xs:pattern value="-?\d+(\.\d{1,2})?"/>

А как его вообще читать? Не ориентируюсь что здесь что означает
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632531
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileЯ так понимаю там косяк вот в этом коде?

<xs:pattern value="-?\d+(\.\d{1,2})?"/>

А как его вообще читать? Не ориентируюсь что здесь что означаетГуглите "регулярные выражения"
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632534
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile "-?\d+(\.\d{1,2})?"

https://regex101.com/
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632538
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот тут проверил
https://regex101.com/

"0.0" соответствует паттерну -?\d+(\.\d{1,2})?
...
Рейтинг: 0 / 0
Помогите сделать XSD схему
    #39632586
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, всё я понял о чем тут.

Спасибо felix_ff !
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите сделать XSD схему
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]