Estoy tratando de obtener una lista de elementos con un tipo específico de xsd con lxml 2.x y no puedo averiguar cómo atravesar el xsd para tipos específicos.Encontrar elementos basados en el tipo xsd con lxml
Ejemplo de esquema:
<xsd:element name="ServerOwner" type="srvrs:string90" minOccurs="0">
<xsd:element name="HostName" type="srvrs:string35" minOccurs="0">
Ejemplo XML de datos:
<srvrs:ServerOwner>John Doe</srvrs:ServerOwner>
<srvrs:HostName>box01.example.com</srvrs:HostName>
La función ideal debería parecerse a:
elements = getElems(xml_doc, 'string90')
def getElems(xml_doc, xsd_type):
** xpath or something to find the elements and build a dict
return elements