Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
100.00% |
2 / 2 |
|
100.00% |
2 / 2 |
CRAP | |
100.00% |
1 / 1 |
| LengthRule | |
100.00% |
2 / 2 |
|
100.00% |
2 / 2 |
2 | |
100.00% |
1 / 1 |
| name | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
| symbol | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
| 1 | <?php |
| 2 | |
| 3 | declare(strict_types=1); |
| 4 | |
| 5 | namespace WsdlToPhp\PackageGenerator\File\Validation; |
| 6 | |
| 7 | /** |
| 8 | * @see https://www.w3.org/TR/xmlschema-2/#rf-length |
| 9 | * Validation Rule: Length Valid |
| 10 | * A value in a ·value space· is facet-valid with respect to ·length·, determined as follows: |
| 11 | * - 1 if the {variety} is ·atomic· then |
| 12 | * - 1.1 if {primitive type definition} is string or anyURI, then the length of the value, as measured in characters ·must· be equal to {value}; |
| 13 | * - 1.2 if {primitive type definition} is hexBinary or base64Binary, then the length of the value, as measured in octets of the binary data, ·must· be equal to {value}; |
| 14 | * - 1.3 if {primitive type definition} is QName or NOTATION, then any {value} is facet-valid. |
| 15 | * - 2 if the {variety} is ·list·, then the length of the value, as measured in list items, ·must· be equal to {value} |
| 16 | */ |
| 17 | final class LengthRule extends AbstractLengthRule |
| 18 | { |
| 19 | public const NAME = 'length'; |
| 20 | |
| 21 | public function name(): string |
| 22 | { |
| 23 | return self::NAME; |
| 24 | } |
| 25 | |
| 26 | public function symbol(): string |
| 27 | { |
| 28 | return self::SYMBOL_STRICT; |
| 29 | } |
| 30 | } |