@@ -46,7 +46,7 @@ class IATISchemaWalker(object):
46
46
"""
47
47
Class for converting an IATI XML schema to documentation in the
48
48
reStructuredText format.
49
-
49
+
50
50
Based on the Schema2Doc class in https://github.com/IATI/IATI-Standard-SSOT/blob/version-2.02/gen.py
51
51
"""
52
52
def __init__ (self , schemas ):
@@ -80,12 +80,22 @@ def element_loop(self, element, path):
80
80
if 'type' in a :
81
81
complexType = self .get_schema_element ('complexType' , a ['type' ])
82
82
if complexType is not None :
83
- type_elements = ( complexType .findall ('xsd:choice/xsd:element' , namespaces = namespaces ) +
84
- complexType .findall ('xsd:sequence/xsd:element' , namespaces = namespaces ) )
85
-
86
- children = ( element .findall ('xsd:complexType/xsd:choice/xsd:element' , namespaces = namespaces )
87
- + element .findall ('xsd:complexType/xsd:sequence/xsd:element' , namespaces = namespaces )
88
- + element .findall ("xsd:complexType/xsd:all/xsd:element" , namespaces = namespaces )
83
+ type_elements = (
84
+ complexType .findall ('xsd:choice/xsd:element' ,
85
+ namespaces = namespaces ) +
86
+ complexType .findall ('xsd:sequence/xsd:element' ,
87
+ namespaces = namespaces ))
88
+
89
+ children = (
90
+ element .findall (
91
+ 'xsd:complexType/xsd:choice/xsd:element' ,
92
+ namespaces = namespaces )
93
+ + element .findall (
94
+ 'xsd:complexType/xsd:sequence/xsd:element' ,
95
+ namespaces = namespaces )
96
+ + element .findall (
97
+ 'xsd:complexType/xsd:all/xsd:element' ,
98
+ namespaces = namespaces )
89
99
+ type_elements )
90
100
child_tuples = []
91
101
for child in children :
@@ -104,7 +114,9 @@ def create_schema_dict(self, parent_name, parent_element=None):
104
114
if parent_element is None :
105
115
parent_element = self .get_schema_element ('element' , parent_name )
106
116
107
- return OrderedDict ([(name , self .create_schema_dict (name , element )) for name , element , _ , _ , _ in self .element_loop (parent_element , '' )])
117
+ return OrderedDict ([
118
+ (name , self .create_schema_dict (name , element ))
119
+ for name , element , _ , _ , _ in self .element_loop (parent_element , '' )])
108
120
109
121
110
122
def sort_iati_element (element , schema_subdict ):
0 commit comments