Вход | Регистрация
 

EnterpriseData - sequence, вы что, серьёзно?

EnterpriseData - sequence, вы что, серьёзно?
Я
   Гений 1С
 
12.07.21 - 08:34
В ОРП есть раздел оплаты платежными картами, там такая XSD схема:

    <xs:complexType name="ОплатаПлатежнымиКартами.Строка">
        <xs:sequence>
            <xs:element name="СуммаОплаты" type="tns:ТипСумма"/>
            <xs:element name="ВидКарты" type="xs:string" minOccurs="0"/>
            <xs:element name="НомерКарты" type="xs:string"/>
            <xs:element name="Эквайрер" type="tns:КлючевыеСвойстваКонтрагент" minOccurs="0"/>
            <xs:element name="ДоговорЭквайринга" type="tns:КлючевыеСвойстваДоговор" minOccurs="0"/>
            <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##any" processContents="lax"/>
    </xs:complexType>

Правильно ли я понимаю, что если сначала написать ВидКарты, а потом СуммаОплаты, то будет ошибка?
Спрашивается - нельзя ли было использовать не упорядоченную последовательность XSD или XSD не имеет такой последовательности?
Что за бред?
   acht
 
1 - 12.07.21 - 08:41
Геня, как же ты задолбал.
   Ненавижу 1С
 
2 - 12.07.21 - 08:41
(0) Что за бред так формулировать вопросы
Где будет ошибка?
Почему так решил?
Может стоит говорить о конкретной особенности реализации?

https://coderoad.ru/1131495/В-XML-году-важен-ли-порядок
   Гений 1С
 
3 - 12.07.21 - 08:53
(2) БП3. Загрузка данных из EnterpriseData
e1cib/app/Обработка.ВыгрузкаЗагрузкаEnterpriseData
   RomaH
 
4 - 12.07.21 - 09:01
(0) правильно понимаешь
согласен - бред
(2) ошибка будет, если порядок элементов нарушить, потому как "sequence"
   Василий Алибабаевич
 
5 - 12.07.21 - 09:12
Ну так все правильно. Последовательность оно для того и предназначена. В общем случае следующее значение в кортеже зависит от значения предыдущего. Типовой пример - отношение к воинской обязанности в зависимости от пола. Странно было бы начинать понимать воинское звание у невоеннообязанного.
   Вафель
 
6 - 12.07.21 - 09:17
Так вроде при работе с объектами оно само все.
Или ты руками хмл собираешь?
   Гений 1С
 
7 - 12.07.21 - 09:17
(5) это была хорошая попытка, но объект XDTO грузится целиком, поэтому какая разница, какой порядок полей?
   Гений 1С
 
8 - 12.07.21 - 09:17
(6) руками
   Вафель
 
9 - 12.07.21 - 09:20
Наверно хотели чтобы сумма оплаты первая шла. Для тех кто читает последовательно
   Вафель
 
10 - 12.07.21 - 09:20
(8) а что за задача что руками нужно?
   Гений 1С
 
11 - 12.07.21 - 09:43
(10) там не я формирую XSD, а чуваки с сайта.
   acht
 
12 - 12.07.21 - 09:49
(7) Геня, кроме объекта XDTO есть и другие способы чтения.
   mistеr
 
13 - 12.07.21 - 09:57
(0) >Спрашивается - нельзя ли было использовать не упорядоченную последовательность XSD

Можно. Но так проще. Для них в первую очередь, т.к. тестировать все возможные последовательности пустая трата ресурсов. Да и для всех остальных не проблема обеспечить нужный порядок. Как в любом бинарном формате, например.

Так что не раздувай из мухи слона.
   Eiffil123
 
14 - 12.07.21 - 10:13
(11) так что мешает снять с поддержки пакет и внести изменения. поставщик xml должен поставлять данные в соответствии с контрактом. контракт определяет структуру через xsd.
   Eiffil123
 
15 - 12.07.21 - 10:14
(1) к чему такие ценные комментарии при обсуждении технических вопросов? неужели для этого мало ветки с флудом по коронавирусу, политике и тд?
   Вафель
 
16 - 12.07.21 - 10:27
(13) зачем нужно тестировать все последовательности?
   Вафель
 
17 - 12.07.21 - 10:27
(14) за такое сразу к стенке
   mistеr
 
18 - 12.07.21 - 10:42
(16) См. (5)
   Вафель
 
19 - 12.07.21 - 10:44
И что тут от чего зависит?
   acht
 
20 - 12.07.21 - 10:52
(14) Совет, достойный Гени.
   Гений 1С
 
21 - 12.07.21 - 11:43
(14) а чем заменить секвенс?
   Гений 1С
 
22 - 12.07.21 - 11:43
(13) прям аблокат диавола
   Василий Алибабаевич
 
23 - 12.07.21 - 11:53
(21) "xsd:all элемент позволяет элементам в группе быть (или не быть) в любом порядке в составе элемента."

"
All group
The All group specifies that all the elements defined in this group must appear once in the XML document. These elements can appear in any order in the XML document.
"
ЦЫ https://docs.oracle.com/cd/B14099_19/integrate.1012/b14069/xsd.htm
   Garykom
 
24 - 12.07.21 - 12:04
(23) немного не так https://coderoad.ru/16101488/Разница-между-xsd-all-и-xsd-sequence-в-определении-схемы

xsd:all 0 или 1 раз в любом порядке

xsd:sequence maxOccurs="unbounded" в (0)
   Garykom
 
25 - 12.07.21 - 12:06
короче строчка <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

чтобы "доп. реквизиты" засунуть любое кол-во от 0 до хз сколько
   Eiffil123
 
26 - 12.07.21 - 12:28
(20) еще один комментарий не по теме топика от вас. В чем видите недостатки данного решения?


Список тем форума
 
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.