File tree Expand file tree Collapse file tree 3 files changed +21
-10
lines changed Expand file tree Collapse file tree 3 files changed +21
-10
lines changed Original file line number Diff line number Diff line change @@ -222,7 +222,7 @@ protected function _convertDepends($source)
222
222
{
223
223
$ depends = [];
224
224
foreach ($ source ->childNodes as $ childNode ) {
225
- if ($ childNode ->nodeName == '#text ' ) {
225
+ if ($ childNode ->nodeName === '#text ' ) {
226
226
continue ;
227
227
}
228
228
if ($ childNode ->nodeName !== 'parameter ' ) {
@@ -231,12 +231,23 @@ protected function _convertDepends($source)
231
231
);
232
232
}
233
233
$ parameterAttributes = $ childNode ->attributes ;
234
- $ depends [$ parameterAttributes ->getNamedItem (
235
- 'name '
236
- )->nodeValue ] = [
237
- 'value ' => $ parameterAttributes ->getNamedItem ('value ' )->nodeValue ,
238
- ];
234
+ $ dependencyName = $ parameterAttributes ->getNamedItem ('name ' )->nodeValue ;
235
+ $ dependencyValue = $ parameterAttributes ->getNamedItem ('value ' )->nodeValue ;
236
+
237
+ if (!isset ($ depends [$ dependencyName ])) {
238
+ $ depends [$ dependencyName ] = [
239
+ 'value ' => $ dependencyValue ,
240
+ ];
241
+
242
+ continue ;
243
+ } else if (!isset ($ depends [$ dependencyName ]['values ' ])) {
244
+ $ depends [$ dependencyName ]['values ' ] = [$ depends [$ dependencyName ]['value ' ]];
245
+ unset($ depends [$ dependencyName ]['value ' ]);
246
+ }
247
+
248
+ $ depends [$ dependencyName ]['values ' ][] = $ dependencyValue ;
239
249
}
250
+
240
251
return $ depends ;
241
252
}
242
253
Original file line number Diff line number Diff line change 212
212
<xs : annotation >
213
213
<xs : documentation >List of parameters this parameter depends on.</xs : documentation >
214
214
</xs : annotation >
215
- <xs : all >
215
+ <xs : sequence maxOccurs = " unbounded " >
216
216
<xs : element name =" parameter" type =" dependsParameterType" />
217
- </xs : all >
217
+ </xs : sequence >
218
218
</xs : complexType >
219
219
</xs : schema >
Original file line number Diff line number Diff line change 212
212
<xs : annotation >
213
213
<xs : documentation >List of parameters this parameter depends on.</xs : documentation >
214
214
</xs : annotation >
215
- <xs : all >
215
+ <xs : sequence maxOccurs = " unbounded " >
216
216
<xs : element name =" parameter" type =" dependsParameterType" />
217
- </xs : all >
217
+ </xs : sequence >
218
218
</xs : complexType >
219
219
</xs : schema >
You can’t perform that action at this time.
0 commit comments