@ru_python

Страница 7377 из 9768
Tishka17
12.12.2018
09:16:14
xml - содержит данные xsd - содержит опсиание структуры этих данных, но при этом является xml

SetazeR
12.12.2018
09:17:27
алсо если не конвертит - может у тебя схема невалидная?

Google
Alex
12.12.2018
09:17:51
получить структуру по описанию из xsd
а данные ты откуда возьмешь?

Tishka17
12.12.2018
09:17:53
я ничего не понял, что он хочет

как из класса сгенерить инстанс не имея данных

SetazeR
12.12.2018
09:18:27
я ничего не понял, что он хочет
сгенерить сэмпл xml по xsd схеме

Tishka17
12.12.2018
09:18:39
Точно ли?

Linux
12.12.2018
09:18:52
а данные ты откуда возьмешь?
Не нужны данные, нужна структура которую описывает xsd. Если вам угодно это класс готовый с функциями его

SetazeR
12.12.2018
09:19:49
Не нужны данные, нужна структура которую описывает xsd. Если вам угодно это класс готовый с функциями его
так, а питон здесь как-то причём? и ещё раз спрошу - ты уверен что у тебя схема валидная?

LighteR
12.12.2018
09:19:51
А как насчет человека, читающего код?) Дело уже не в самой даже типизации, а как ее лучше использовать. Но мне существующий вариант пока не сильно нравится. Как ты и сказал типизацию сейчас удобней использовать на уровне определения параметров и возвращаемых значений
Просто если ты хочешь использовать type hint как средство документирования кода внутри тела функции, то никто не запретит. Но это довольно странный выбор инструмента. Ну и ты хочешь каждую переменную аннотировать, а потом жалуешься, что слишком много писать приходится.

Linux
12.12.2018
09:20:30
http://xsd2xml.com/
Да я же написал что я пробовал онлайн конвереры они не работают

Alex
12.12.2018
09:20:55
обычно при помощи xsd валидируют, а не генерят из него шаблоны.

Google
Alex
12.12.2018
09:21:09
поэтому вряд ли ты найдешь что-то готовое. можешь написать сам.

Владимир
12.12.2018
09:22:39
Просто если ты хочешь использовать type hint как средство документирования кода внутри тела функции, то никто не запретит. Но это довольно странный выбор инструмента. Ну и ты хочешь каждую переменную аннотировать, а потом жалуешься, что слишком много писать приходится.
Нет, я просто попробовал аннотирование с разной детализацией. В итоге полная детализация выглядит громоздко. Частичная более-менее, но в целом пока не оч нравится. Возможно дело вкуса и долгая привычка не полагаться на статический анализатор при написании кода.

Linux
12.12.2018
09:22:45
SetazeR
12.12.2018
09:22:56
http://www.davekuhlman.org/generateDS.html

Tishka17
12.12.2018
09:23:05
ну в виде xml у тебя будет xsd

Linux
12.12.2018
09:23:24
Tishka17
12.12.2018
09:23:39
я видимо не понимаю

xsd - структура xml файла

можно так же в виде jsonschema небось или в виде десятка функций

по xsd можно наверно сделать пример xml файла обладающего нужной стрктурой, но нужны заглушки данных

Linux
12.12.2018
09:25:26
я видимо не понимаю
Ну к примеру xsd говорит что в классе должны быть id с типом int и name строка, а структура уже содержит эти поля

Tishka17
12.12.2018
09:25:53
ну а какой id там будет? 100 или 1000?

или может -1000

slair
12.12.2018
09:26:17
а этим разве не xslt занимается?

Linux
12.12.2018
09:26:30
или может -1000
он описывает имена и типы данных и название структуры

Tishka17
12.12.2018
09:26:32
а этим разве не xslt занимается?
он преобразованием xml pfybvftncz

Google
Linux
12.12.2018
09:27:27
ну да, а данные октуда взять?
А данные уже получает сама структура

LighteR
12.12.2018
09:27:37
ну на плюсах как-то пишут и норм
У них просто выбора нет

Tishka17
12.12.2018
09:27:59
А данные уже получает сама структура
есть описание структуры - xsd есть данные - xml удовлетворяющий xsd

нет промежуточного

<tag id=“”> не будет удовлетворять xsd в котором написано что id должен быть int

Linux
12.12.2018
09:29:06
<tag id=“”> не будет удовлетворять xsd в котором написано что id должен быть int
<xs:element name="ID"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="soapenv:mustUnderstand" use="required" fixed="1"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>

Tishka17
12.12.2018
09:29:55
чо

это что?

xsd?

Linux
12.12.2018
09:30:19
Tishka17
12.12.2018
09:30:21
или “структура”?

Linux
12.12.2018
09:30:29
xsd

Tishka17
12.12.2018
09:30:38
ну и какая структура ему удовлетворяет?

давай попроще

LighteR
12.12.2018
09:30:53
ну на плюсах как-то пишут и норм
Ну и это же вопрос реализации статического анализатора. C#, afaik, умеет выводить типы в каких-то кейсах

Linux
12.12.2018
09:30:58
Ну это часть xsd

Tishka17
12.12.2018
09:31:21
Ну это часть xsd
ну давай попроще. Tag с атрибутом id типа int

Google
Tishka17
12.12.2018
09:31:35
какая "структура” должна быть?

Roman
12.12.2018
09:31:41
за деньги дорого, а если внешность менять - не спалят
кстати, еще плюс, такой поиск масштабируется, можно больше проксей наделать и пустить через asyncio, или aiohttp

Linux
12.12.2018
09:32:01
давай попроще
Вот два элемента структуры? один содержит стороковое значение другой булевое <xs:element name="ID"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="soapenv:mustUnderstand" use="required" fixed="1"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="HoldRequests"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:boolean"> <xs:attribute ref="soapenv:mustUnderstand" use="required" fixed="1"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>

Linux
12.12.2018
09:32:49
<id></id> <HoldRequests></HoldRequests>

Admin
ERROR: S client not available

Tishka17
12.12.2018
09:32:58
не не

у тебя не бул

Alex
12.12.2018
09:33:24
Tishka17
12.12.2018
09:33:26
HoldRequests должен быть boolean

иначе пустой документ удовлетворяет любому xsd

Linux
12.12.2018
09:35:00
Tishka17
12.12.2018
09:35:28
Это понятно, я для примера.
ну давай для этого xsd прмиер корректный

Linux
12.12.2018
09:35:34
Хотя на питоне пустая строка это фолсе

Tishka17
12.12.2018
09:35:54
нет, пустая строка- не false, а вот bool(пустой строки) - false

LighteR
12.12.2018
09:36:25
ну на плюсах как-то пишут и норм
Начиная с C++11 можно писать так: auto p = new foo();

Tishka17
12.12.2018
09:36:50
Начиная с C++11 можно писать так: auto p = new foo();
ну да, вот только тип выводится автоматиче ки, а не произвольный

shiitakePL??
12.12.2018
09:37:11
Wow, That’s a lot of info in single document. Thanks.
no problem Alex :D This is good start point for own solutions :D greets from Poland :D

LighteR
12.12.2018
09:37:18
ну да, вот только тип выводится автоматиче ки, а не произвольный
Ну так в питоне так же будет если ты не укажешь тип

Google
Tishka17
12.12.2018
09:37:20
ты не можешь вызвать несуществующие у foo методы

не скомпилируется

а в питоне - будет работать пока в этот кусок кейса не попадешь

и если это не констркуторк, а функция - не сработает в питоне и анализатор

LighteR
12.12.2018
09:38:21
а в питоне - будет работать пока в этот кусок кейса не попадешь
Нет же. Если у функции написаны тайп хинты то будет ошибка

Tishka17
12.12.2018
09:38:40
ну если у функции написаны

LighteR
12.12.2018
09:38:44
ну конечно

LighteR
12.12.2018
09:38:51
это само собой

Tishka17
12.12.2018
09:38:59
в плюсах ты можешь сделать auto func() { auto x=1; return x;}

if not "": print("hello") hello
тут неявная конвертация в bool. Вот сделай if “”==False:

SetazeR
12.12.2018
09:39:37
if not "": print("hello") hello
if "" == False or "" is False: print("hello")

Tishka17
12.12.2018
09:39:57
if "" == False or "" is False: print("hello")
== достаточно обычно

объект равен сам себе

SetazeR
12.12.2018
09:40:11
== достаточно обычно
не ну чтоб совсем доказать

ЧИМ
12.12.2018
09:40:25
Ребят, подскажите, вот такая конструкция: "conn, addr = sock.accept()" Я в питоне новичок, это создание и присваивание двум переменным одно и тоже значение?

или как это понять?

Страница 7377 из 9768