Skip to content

Commit 2fa6586

Browse files
committed
Enhance property meta with container meta
1 parent f4ebc7b commit 2fa6586

2 files changed

Lines changed: 67 additions & 0 deletions

File tree

src/Metadata/Converter/SchemaToTypesConverter.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
use GoetasWebservices\XML\XSDReader\Schema\Element\ElementDef;
77
use GoetasWebservices\XML\XSDReader\Schema\Schema;
8+
use GoetasWebservices\XML\XSDReader\Schema\Type\ComplexType;
89
use GoetasWebservices\XML\XSDReader\Schema\Type\Type;
910
use Soap\Engine\Metadata\Collection\TypeCollection;
1011
use Soap\WsdlReader\Metadata\Converter\Types\ParentContext;
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
--TEST--
2+
SOAP XML Schema 1015: Group ref with minOccurs / MaxOccurs
3+
--FILE--
4+
<?php
5+
include __DIR__."/test_schema.inc";
6+
$schema = <<<EOF
7+
<complexType name="nullableGroupRef">
8+
<sequence>
9+
<group minOccurs="0" ref="tns:mygroup"/>
10+
</sequence>
11+
</complexType>
12+
<complexType name="listGroupRef">
13+
<sequence>
14+
<group minOccurs="0" maxOccurs="unbounded" ref="tns:mygroup"/>
15+
</sequence>
16+
</complexType>
17+
<complexType name="scopedGroupRef">
18+
<sequence>
19+
<group minOccurs="2" maxOccurs="6" ref="tns:mygroup"/>
20+
</sequence>
21+
</complexType>
22+
<complexType name="singleGroupRef">
23+
<sequence>
24+
<group minOccurs="1" maxOccurs="1" ref="tns:mygroup"/>
25+
</sequence>
26+
</complexType>
27+
<group name="mygroup">
28+
<sequence>
29+
<element name="nullable" type="string" minOccurs="0" />
30+
<element name="list" type="string" minOccurs="0" maxOccurs="unbounded" />
31+
<element name="scoped" type="string" minOccurs="3" maxOccurs="5" />
32+
<element name="single" type="string" minOccurs="1" maxOccurs="1"/>
33+
</sequence>
34+
</group>
35+
EOF;
36+
test_schema($schema,'type="tns:Element"');
37+
?>
38+
--EXPECT--
39+
Methods:
40+
> test(Element $testParam): void
41+
42+
Types:
43+
> http://test-uri/:nullableGroupRef {
44+
?string $nullable
45+
array<int<0, max>, string> $list
46+
array<int<0, 5>, string> $scoped
47+
?string $single
48+
}
49+
> http://test-uri/:listGroupRef {
50+
array<int<0, max>, string> $nullable
51+
array<int<0, max>, string> $list
52+
array<int<0, max>, string> $scoped
53+
array<int<0, max>, string> $single
54+
}
55+
> http://test-uri/:scopedGroupRef {
56+
array<int<0, 6>, string> $nullable
57+
array<int<0, max>, string> $list
58+
array<int<6, 30>, string> $scoped
59+
array<int<2, 6>, string> $single
60+
}
61+
> http://test-uri/:singleGroupRef {
62+
?string $nullable
63+
array<int<0, max>, string> $list
64+
array<int<3, 5>, string> $scoped
65+
string $single
66+
}

0 commit comments

Comments
 (0)