ElementTree xmlns:xsi question

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Craig

    #1

    ElementTree xmlns:xsi question

    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:noNamespace SchemaLocation= "code/can.xsd">

    My python script I have written is:

    root = Element("CANmes sages",
    xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance",
    xsi:noNamespace SchemaLocation= "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

  • Fredrik Lundh

    #2
    Re: ElementTree xmlns:xsi question

    Craig wrote:
    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:noNamespace SchemaLocation= "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("CANmes sages",
    xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance",
    xsi:noNamespace SchemaLocation= "code/can.xsd")
    try:

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

    root = Element("CANmes sages")
    root.set(NS_XSI + "noNamespaceSch emaLocation", "code/can.xsd")

    also see:



    </F>

    Comment

    Working...