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

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

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

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

Гугл перерыл, стэковерфлоу перерыл, ответ не нашёл.
...
Рейтинг: 0 / 0
13.04.2018, 18:15
    #39630054
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать XSD схему
Cammomile, The canonical representation for zero is 0.0E0.
Тоже не того?
...
Рейтинг: 0 / 0
16.04.2018, 18:21
    #39631038
Cammomile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать XSD схему
Код: sql
1.
2.
Сообщение 6926, уровень 16, состояние 1, строка 3
Проверка XML: недопустимое значение простого типа: "0.0E0".
...
Рейтинг: 0 / 0
16.04.2018, 18:24
    #39631040
Cammomile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать XSD схему
Проверка XML: недопустимая каноническая форма значения "0" согласно указанному типу.
Проверка XML: недопустимая каноническая форма значения "0.0" согласно указанному типу.
Проверка XML: недопустимое значение простого типа: "0e0
Проверка XML: недопустимое значение простого типа: "0.0e0".
...
Рейтинг: 0 / 0
16.04.2018, 19:00
    #39631064
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать XSD схему
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
16.04.2018, 19:12
    #39631077
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать XSD схему
CammomileПроверка XML: недопустимая каноническая форма значения "0" согласно указанному типу.
Проверка XML: недопустимая каноническая форма значения "0.0" согласно указанному типу.
Проверка XML: недопустимое значение простого типа: "0e0
Проверка XML: недопустимое значение простого типа: "0.0e0".Вы бы код показали, реальный, или сделали бы репро, если реальные данные секретны.
...
Рейтинг: 0 / 0
18.04.2018, 11:49
    #39632314
Cammomile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать XSD схему
Ничего секретного.


Код: 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
18.04.2018, 13:25
    #39632458
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать XSD схему
Cammomile,

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

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

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

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

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

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

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

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

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

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


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