ElementTree xmlns:xsi question

C

Craig

Hi there,

I'm generating an XML script using ElementTree which has the following
attributes in the root element:

<CANmessages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="code/can.xsd">

My python script I have written is:

root = Element("CANmessages",
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance",
xsi:noNamespaceSchemaLocation="code/can.xsd")

Obviously there is a syntax error inregard to the colons in the
attribute names. I have to have the xsi attributes in there otherwise
the XML won't work correctly. What can I do to make the code correct
and the output being 100% correct as well. Any help would be greatly
appreciated.

Craig
 
F

Fredrik Lundh

Craig said:
I'm generating an XML script using ElementTree which has the following
attributes in the root element:

<CANmessages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="code/can.xsd">

those are namespace declarations, and mean that tags prefixed by "xsi"
really belongs to the http://www.w3.org/2001/XMLSchema-instance name-
space.
My python script I have written is:

root = Element("CANmessages",
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance",
xsi:noNamespaceSchemaLocation="code/can.xsd")

try:

NS_XSI = "{http://www.w3.org/2001/XMLSchema-instance}"

root = Element("CANmessages")
root.set(NS_XSI + "noNamespaceSchemaLocation", "code/can.xsd")

also see:

http://effbot.org/zone/element.htm#xml-namespaces

</F>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,154
Members
46,702
Latest member
LukasConde

Latest Threads

Top