Passed
Push — php-7.1 ( 280be0...7ba4a5 )
by SignpostMarv
02:07
created

SchemaReader::loadSequenceNormaliseMax()   B

Complexity

Conditions 5
Paths 8

Size

Total Lines 12
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 5

Importance

Changes 0
Metric Value
cc 5
eloc 5
c 0
b 0
f 0
nc 8
nop 2
dl 0
loc 12
ccs 6
cts 6
cp 1
crap 5
rs 8.8571
1
<?php
2
declare(strict_types = 1);
3
namespace GoetasWebservices\XML\XSDReader;
4
5
use Closure;
6
use DOMDocument;
7
use DOMElement;
8
use DOMNode;
9
use DOMNodeList;
10
use GoetasWebservices\XML\XSDReader\Exception\IOException;
11
use GoetasWebservices\XML\XSDReader\Exception\TypeException;
12
use GoetasWebservices\XML\XSDReader\Schema\Attribute\Attribute;
13
use GoetasWebservices\XML\XSDReader\Schema\Attribute\AttributeDef;
14
use GoetasWebservices\XML\XSDReader\Schema\Attribute\AttributeItem;
15
use GoetasWebservices\XML\XSDReader\Schema\Attribute\Group as AttributeGroup;
16
use GoetasWebservices\XML\XSDReader\Schema\Element\Element;
17
use GoetasWebservices\XML\XSDReader\Schema\Element\ElementContainer;
18
use GoetasWebservices\XML\XSDReader\Schema\Element\ElementDef;
19
use GoetasWebservices\XML\XSDReader\Schema\Element\ElementItem;
20
use GoetasWebservices\XML\XSDReader\Schema\Element\ElementRef;
21
use GoetasWebservices\XML\XSDReader\Schema\Element\Group;
22
use GoetasWebservices\XML\XSDReader\Schema\Element\GroupRef;
23
use GoetasWebservices\XML\XSDReader\Schema\Element\InterfaceSetMinMax;
24
use GoetasWebservices\XML\XSDReader\Schema\Exception\TypeNotFoundException;
25
use GoetasWebservices\XML\XSDReader\Schema\Inheritance\Base;
26
use GoetasWebservices\XML\XSDReader\Schema\Inheritance\Extension;
27
use GoetasWebservices\XML\XSDReader\Schema\Inheritance\Restriction;
28
use GoetasWebservices\XML\XSDReader\Schema\Item;
29
use GoetasWebservices\XML\XSDReader\Schema\Schema;
30
use GoetasWebservices\XML\XSDReader\Schema\SchemaItem;
31
use GoetasWebservices\XML\XSDReader\Schema\Type\BaseComplexType;
32
use GoetasWebservices\XML\XSDReader\Schema\Type\ComplexType;
33
use GoetasWebservices\XML\XSDReader\Schema\Type\ComplexTypeSimpleContent;
34
use GoetasWebservices\XML\XSDReader\Schema\Type\SimpleType;
35
use GoetasWebservices\XML\XSDReader\Schema\Type\Type;
36
use GoetasWebservices\XML\XSDReader\Utils\UrlUtils;
37
use RuntimeException;
38
39
class SchemaReader extends SchemaReaderLoadAbstraction
40
{
41
    /**
42
    * @return mixed[]
43
    */
44 45
    protected static function splitParts(
45
        DOMElement $node,
46
        string $typeName
47
    ) : array {
48 45
        $prefix = null;
49 45
        $name = $typeName;
50 45
        if (strpos($typeName, ':') !== false) {
51 45
            list ($prefix, $name) = explode(':', $typeName);
52
        }
53
54 45
        $namespace = $node->lookupNamespaceUri($prefix ?: '');
55
        return array(
56 45
            $name,
57 45
            $namespace,
58 45
            $prefix
59
        );
60
    }
61
}
62