How to create a Python object out of XSD with attributes2019 Community Moderator ElectionHow do I copy a file in Python?How can I safely create a nested directory in Python?How to get the current time in PythonHow can I make a time delay in Python?How to know if an object has an attribute in PythonHow to make a flat list out of list of lists?How to get the number of elements in a list in Python?How to concatenate two lists in Python?How to lowercase a string in Python?XML + Schema + Namespaces. No matching global declaration available for the validation root

How can I portion out frozen cookie dough?

Trocar background-image com delay via jQuery

Is it appropriate to ask a former professor to order a book for me through an inter-library loan?

How do we create new idioms and use them in a novel?

How to educate team mate to take screenshots for bugs with out unwanted stuff

What should I do when a paper is published similar to my PhD thesis without citation?

Volume of hyperbola revolved about the y -axis

Why aren't there more Gauls like Obelix?

Is there a way to make cleveref distinguish two environments with the same counter?

Movie: boy escapes the real world and goes to a fantasy world with big furry trolls

When to use a QR code on a business card?

Insult for someone who "doesn't know anything"

Was it really inappropriate to write a pull request for the company I interviewed with?

How to install round brake pads

How should I solve this integral with changing parameters?

Can one live in the U.S. and not use a credit card?

How to copy the rest of lines of a file to another file

Is there stress on two letters on the word стоят

Under what conditions can the right to be silence be revoked in the USA?

Are these the correct translations ?

When an outsider describes family relationships, which point of view are they using?

What does the Digital Threat scope actually do?

What does *dead* mean in *What do you mean, dead?*?

Has a sovereign Communist government ever run, and conceded loss, on a fair election?



How to create a Python object out of XSD with attributes



2019 Community Moderator ElectionHow do I copy a file in Python?How can I safely create a nested directory in Python?How to get the current time in PythonHow can I make a time delay in Python?How to know if an object has an attribute in PythonHow to make a flat list out of list of lists?How to get the number of elements in a list in Python?How to concatenate two lists in Python?How to lowercase a string in Python?XML + Schema + Namespaces. No matching global declaration available for the validation root










1















I am working on a project that is meant to take many different data sources and place them in a data table. To do this, we have a way to import the data through an XML document that has all of the fields defined in the table. A few of these fields are required. Fields that are required have a minimum occurrences value of a non-zero positive integer.



I have the XSD files for these XML documents. This isn't a 1 to 1 copy (since it's proprietary), but here is an example:



<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Widget">
<xs:complexType>
<xs:all>
<xs:element name="GuyWhoMadeWidget" nillable="true" minOccurs="1">
</xs:all>
<xs:attribute name="version" type="xs:string"/>
<xs:complexType>
</xs:element>
</xs:schema>


What I want to be able to do is go into the <xs: element> element and do logic in Python on whether or not minOccurs is a non-zero value. Here's some pseudocode:



file_object = open(xsd_file)
required_fields = []
xsd_python_object = parse_xsd_to_python(file_object)
for element in xsd_python_object:
if element.minOccurs != 0:
required_fields.append(element.name)
print(required_fields)


Sample output here would be:



Required fields for "Widget" table:
GuyWhoMadeWidget


I have been looking into the xmlschema and lxml packages but their facilities leave me wanting, confused, or both.










share|improve this question






















  • Parse it using module-xml.etree.ElementTree

    – stovfl
    2 days ago















1















I am working on a project that is meant to take many different data sources and place them in a data table. To do this, we have a way to import the data through an XML document that has all of the fields defined in the table. A few of these fields are required. Fields that are required have a minimum occurrences value of a non-zero positive integer.



I have the XSD files for these XML documents. This isn't a 1 to 1 copy (since it's proprietary), but here is an example:



<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Widget">
<xs:complexType>
<xs:all>
<xs:element name="GuyWhoMadeWidget" nillable="true" minOccurs="1">
</xs:all>
<xs:attribute name="version" type="xs:string"/>
<xs:complexType>
</xs:element>
</xs:schema>


What I want to be able to do is go into the <xs: element> element and do logic in Python on whether or not minOccurs is a non-zero value. Here's some pseudocode:



file_object = open(xsd_file)
required_fields = []
xsd_python_object = parse_xsd_to_python(file_object)
for element in xsd_python_object:
if element.minOccurs != 0:
required_fields.append(element.name)
print(required_fields)


Sample output here would be:



Required fields for "Widget" table:
GuyWhoMadeWidget


I have been looking into the xmlschema and lxml packages but their facilities leave me wanting, confused, or both.










share|improve this question






















  • Parse it using module-xml.etree.ElementTree

    – stovfl
    2 days ago













1












1








1








I am working on a project that is meant to take many different data sources and place them in a data table. To do this, we have a way to import the data through an XML document that has all of the fields defined in the table. A few of these fields are required. Fields that are required have a minimum occurrences value of a non-zero positive integer.



I have the XSD files for these XML documents. This isn't a 1 to 1 copy (since it's proprietary), but here is an example:



<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Widget">
<xs:complexType>
<xs:all>
<xs:element name="GuyWhoMadeWidget" nillable="true" minOccurs="1">
</xs:all>
<xs:attribute name="version" type="xs:string"/>
<xs:complexType>
</xs:element>
</xs:schema>


What I want to be able to do is go into the <xs: element> element and do logic in Python on whether or not minOccurs is a non-zero value. Here's some pseudocode:



file_object = open(xsd_file)
required_fields = []
xsd_python_object = parse_xsd_to_python(file_object)
for element in xsd_python_object:
if element.minOccurs != 0:
required_fields.append(element.name)
print(required_fields)


Sample output here would be:



Required fields for "Widget" table:
GuyWhoMadeWidget


I have been looking into the xmlschema and lxml packages but their facilities leave me wanting, confused, or both.










share|improve this question














I am working on a project that is meant to take many different data sources and place them in a data table. To do this, we have a way to import the data through an XML document that has all of the fields defined in the table. A few of these fields are required. Fields that are required have a minimum occurrences value of a non-zero positive integer.



I have the XSD files for these XML documents. This isn't a 1 to 1 copy (since it's proprietary), but here is an example:



<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Widget">
<xs:complexType>
<xs:all>
<xs:element name="GuyWhoMadeWidget" nillable="true" minOccurs="1">
</xs:all>
<xs:attribute name="version" type="xs:string"/>
<xs:complexType>
</xs:element>
</xs:schema>


What I want to be able to do is go into the <xs: element> element and do logic in Python on whether or not minOccurs is a non-zero value. Here's some pseudocode:



file_object = open(xsd_file)
required_fields = []
xsd_python_object = parse_xsd_to_python(file_object)
for element in xsd_python_object:
if element.minOccurs != 0:
required_fields.append(element.name)
print(required_fields)


Sample output here would be:



Required fields for "Widget" table:
GuyWhoMadeWidget


I have been looking into the xmlschema and lxml packages but their facilities leave me wanting, confused, or both.







python xml oop






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 6 at 21:33









nerdenatornerdenator

6421927




6421927












  • Parse it using module-xml.etree.ElementTree

    – stovfl
    2 days ago

















  • Parse it using module-xml.etree.ElementTree

    – stovfl
    2 days ago
















Parse it using module-xml.etree.ElementTree

– stovfl
2 days ago





Parse it using module-xml.etree.ElementTree

– stovfl
2 days ago












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55032508%2fhow-to-create-a-python-object-out-of-xsd-with-attributes%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55032508%2fhow-to-create-a-python-object-out-of-xsd-with-attributes%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

List of MPs elected to the English parliament in 1640 (April) Contents List of constituencies and members See also Notes References Navigation menueNational Archives – The Glynde Place ArchivesCobbett's Parliamentary history of England, from the Norman Conquest in 1066 to the year 1803'Aldermen in Parliament', The Aldermen of the City of London: Temp. Henry III – 1912onepage&q&f&#61, false 229