Nie można powiązać z klasami pyxb z zagnieżdżonymi (anonimowymi) typami

Postępowałem zgodnie z instrukcjamiten wątekiz tego XML:

<?xml version="1.0" encoding="UTF-8" ?>
<my_report>    
<something>
<foo>
Yes
</foo>
</something>

<something_else>
<id>4</id>
<foo>Finally</foo>
<score>0.2</score>
</something_else>    
</my_report>

Użyłem następującego schematu XSDto narzędzie online.

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="my_report">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="something">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="foo"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="something_else">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:byte" name="id"/>
              <xs:element type="xs:string" name="foo"/>
              <xs:element type="xs:float" name="score"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Wtedy zadzwoniłempyxben -u my_schema.csd -m my_schema w powłoce, a następnie próbował użyć obiektów budowania powiązań:

from my_schema import my_report
my_xml_report = my_report()

To wydaje się działać tak daleko (mogę uzyskać dostępmy_xml_report.something). Jednak gdy próbuję wypełnić zagnieżdżony element:

my_xml_report.something.foo = "No"

Dostaję błąd'NoneType'object has no atttribute 'foo'.

Dokumentacja mówi oanonymous types które wydają się być związane z moim problemem, ale nadal nie mogę go uruchomić:

import pyxb
my_xml_report.something = pyxb.BIND('foo', "No")

Dostaję błądMixedContentError: invalid non-element content

Jak mogę wypełnić ten XML?

questionAnswers(1)

yourAnswerToTheQuestion