хм, валидаторы xsd, которые я пробовал, не говорили, что они недетерминированы (но я не использовал lxml), соответствующий код:
<xs:complexType name="annotation-xml.model">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="m:MathExpression"/>
<xs:group ref="m:anyElement"/>
</xs:choice>
</xs:complexType>
<xs:group name="anyElement">
<xs:choice>
<xs:any namespace="##other" processContents="skip"/>
<xs:any namespace="##local" processContents="skip"/>
</xs:choice>
</xs:group>
, который должен сказать, что annotation-xml может принимать математические выражения илидругие вещи и другие вещи - это вещи в других пространствах имен (## other) или не в пространстве имен (## local).
Я не вижу, какой из этих вариантов не является детерминированным, но вы можете попробовать упроститьнапример, удалите предложение ## local, если вам на самом деле не нужны аннотации без пространства имен.
Если у вас все получилось (или если нет), не могли бы вы пинговать меня по списку www-math@w3.orgи я исправлю схему, если она нуждается в исправлении (или, по крайней мере, запись, что lxml требует локальной модификации) (я не слежу за этим форумом, только что поднял оповещение Google на mathml: -)
Обновление
В рамках обновления для MathML3, 2-е издание Я переписал модель содержимого в версии XSD, чтобы она была принята libxml.Старая схема не была виновата, но это не помогло пользователю, поэтому казалось, что лучше ее изменить.