2016-12-30 04:11:10 +01:00
|
|
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
|
|
|
<xs:element name="psalm" type="PsalmType" />
|
|
|
|
|
|
|
|
<xs:complexType name="PsalmType">
|
2016-12-30 05:37:09 +01:00
|
|
|
<xs:choice maxOccurs="unbounded">
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="projectFiles" type="ProjectFilesType" minOccurs="1" maxOccurs="1" />
|
|
|
|
<xs:element name="fileExtensions" type="FileExtensionsType" minOccurs="0" maxOccurs="1" />
|
|
|
|
<xs:element name="mockClasses" type="MockClassesType" minOccurs="0" maxOccurs="1" />
|
2017-02-01 01:21:33 +01:00
|
|
|
<xs:element name="stubs" type="StubsType" minOccurs="0" maxOccurs="1" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="plugins" type="PluginsType" minOccurs="0" maxOccurs="1" />
|
|
|
|
<xs:element name="issueHandlers" type="IssueHandlersType" minOccurs="0" maxOccurs="1" />
|
2016-12-30 05:37:09 +01:00
|
|
|
</xs:choice>
|
2016-12-30 04:11:10 +01:00
|
|
|
|
|
|
|
<xs:attribute name="name" type="xs:string" />
|
|
|
|
<xs:attribute name="stopOnFirstError" type="xs:string" />
|
|
|
|
<xs:attribute name="useDocblockTypes" type="xs:string" />
|
|
|
|
<xs:attribute name="throwExceptionOnError" type="xs:string" />
|
|
|
|
<xs:attribute name="hideExternalErrors" type="xs:string" />
|
|
|
|
<xs:attribute name="autoloader" type="xs:string" />
|
|
|
|
<xs:attribute name="cacheDirectory" type="xs:string" />
|
|
|
|
<xs:attribute name="usePropertyDefaultForType" type="xs:string" />
|
|
|
|
<xs:attribute name="allowFileIncludes" type="xs:string" />
|
|
|
|
<xs:attribute name="totallyTyped" type="xs:string" />
|
|
|
|
<xs:attribute name="strictBinaryOperands" type="xs:string" />
|
2017-02-01 16:13:37 +01:00
|
|
|
<xs:attribute name="requireVoidReturnType" type="xs:string" />
|
2017-01-28 21:17:14 +01:00
|
|
|
<xs:attribute name="useAssertForType" type="xs:string" />
|
2017-02-02 18:39:39 +01:00
|
|
|
<xs:attribute name="cacheFileContentHashes" type="xs:string" />
|
2017-04-15 03:32:14 +02:00
|
|
|
<xs:attribute name="rememberPropertyAssignmentsAfterCall" type="xs:string" />
|
2016-12-30 04:11:10 +01:00
|
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="ProjectFilesType">
|
2016-12-30 04:16:46 +01:00
|
|
|
<xs:choice maxOccurs="unbounded">
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="directory" minOccurs="0" maxOccurs="unbounded" type="NameAttributeType" />
|
|
|
|
<xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="NameAttributeType" />
|
|
|
|
<xs:element name="ignoreFiles" minOccurs="0" maxOccurs="1">
|
|
|
|
<xs:complexType>
|
2016-12-30 04:16:46 +01:00
|
|
|
<xs:choice maxOccurs="unbounded">
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="directory" minOccurs="0" maxOccurs="unbounded" type="NameAttributeType" />
|
|
|
|
<xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="NameAttributeType" />
|
2016-12-30 04:16:46 +01:00
|
|
|
</xs:choice>
|
2016-12-30 04:11:10 +01:00
|
|
|
</xs:complexType>
|
|
|
|
</xs:element>
|
2016-12-30 04:16:46 +01:00
|
|
|
</xs:choice>
|
2016-12-30 04:11:10 +01:00
|
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="NameAttributeType">
|
|
|
|
<xs:attribute name="name" type="xs:string" use="required" />
|
|
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="FileExtensionsType">
|
|
|
|
<xs:sequence>
|
2016-12-30 05:37:09 +01:00
|
|
|
<xs:element name="extension" maxOccurs="unbounded">
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:complexType>
|
|
|
|
<xs:attribute name="name" type="xs:string" use="required" />
|
|
|
|
<xs:attribute name="filetypeHandler" type="xs:string" />
|
|
|
|
</xs:complexType>
|
|
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="MockClassesType">
|
|
|
|
<xs:sequence>
|
|
|
|
<xs:element name="class" maxOccurs="unbounded" type="NameAttributeType" />
|
|
|
|
</xs:sequence>
|
|
|
|
</xs:complexType>
|
|
|
|
|
2017-02-01 01:21:33 +01:00
|
|
|
<xs:complexType name="StubsType">
|
|
|
|
<xs:sequence>
|
|
|
|
<xs:element name="file" maxOccurs="unbounded" type="NameAttributeType" />
|
|
|
|
</xs:sequence>
|
|
|
|
</xs:complexType>
|
|
|
|
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:complexType name="PluginsType">
|
|
|
|
<xs:sequence>
|
|
|
|
<xs:element name="plugin" maxOccurs="unbounded">
|
|
|
|
<xs:complexType>
|
|
|
|
<xs:attribute name="filename" type="xs:string" use="required" />
|
|
|
|
</xs:complexType>
|
|
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="IssueHandlersType">
|
|
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
2017-01-20 06:10:10 +01:00
|
|
|
<xs:element name="AbstractInstantiation" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="ContinueOutsideLoop" type="IssueHandlerType" minOccurs="0" />
|
2017-02-23 06:25:28 +01:00
|
|
|
<xs:element name="ConflictingReferenceConstraint" type="IssueHandlerType" minOccurs="0" />
|
2017-05-25 06:34:39 +02:00
|
|
|
<xs:element name="DeprecatedClass" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="DeprecatedMethod" type="IssueHandlerType" minOccurs="0" />
|
2017-05-25 07:32:34 +02:00
|
|
|
<xs:element name="DeprecatedProperty" type="IssueHandlerType" minOccurs="0" />
|
2017-01-02 07:20:47 +01:00
|
|
|
<xs:element name="DuplicateParam" type="IssueHandlerType" minOccurs="0" />
|
2017-01-20 05:45:21 +01:00
|
|
|
<xs:element name="DuplicateClass" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="FailedTypeResolution" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="ForbiddenCode" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="ImplicitToStringCast" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InaccessibleClassConstant" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InaccessibleMethod" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InaccessibleProperty" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidArgument" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidArrayAccess" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidArrayAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidClass" type="IssueHandlerType" minOccurs="0" />
|
2017-01-16 18:59:09 +01:00
|
|
|
<xs:element name="InvalidClone" type="IssueHandlerType" minOccurs="0" />
|
2016-12-31 05:40:32 +01:00
|
|
|
<xs:element name="InvalidParamDefault" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="InvalidDocblock" type="IssueHandlerType" minOccurs="0" />
|
2016-12-31 16:51:42 +01:00
|
|
|
<xs:element name="InvalidFunctionCall" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="InvalidGlobal" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidIterator" type="IssueHandlerType" minOccurs="0" />
|
2017-04-08 15:20:32 +02:00
|
|
|
<xs:element name="InvalidMethodCall" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="InvalidOperand" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidPropertyAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidPropertyFetch" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidReturnType" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidScalarArgument" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidScope" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidStaticInvocation" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidStaticVariable" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="InvalidToString" type="IssueHandlerType" minOccurs="0" />
|
2017-03-18 17:18:17 +01:00
|
|
|
<xs:element name="LessSpecificReturnType" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="MethodSignatureMismatch" type="IssueHandlerType" minOccurs="0" />
|
2017-01-13 19:40:20 +01:00
|
|
|
<xs:element name="MisplacedRequiredParam" type="IssueHandlerType" minOccurs="0" />
|
2017-01-16 07:22:36 +01:00
|
|
|
<xs:element name="MissingClosureReturnType" type="IssueHandlerType" minOccurs="0" />
|
2017-01-27 07:23:12 +01:00
|
|
|
<xs:element name="MissingConstructor" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="MissingPropertyDeclaration" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MissingPropertyType" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MissingReturnType" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedArgument" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedArrayAccess" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedArrayOffset" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedInferredReturnType" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedMethodCall" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedOperand" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedPropertyAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedPropertyFetch" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="MixedStringOffsetAssignment" type="IssueHandlerType" minOccurs="0" />
|
2017-01-17 17:17:49 +01:00
|
|
|
<xs:element name="MoreSpecificReturnType" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="NoInterfaceProperties" type="IssueHandlerType" minOccurs="0" />
|
2016-12-31 15:20:10 +01:00
|
|
|
<xs:element name="NonStaticSelfCall" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="NullArgument" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="NullArrayAccess" type="IssueHandlerType" minOccurs="0" />
|
2017-04-08 17:38:06 +02:00
|
|
|
<xs:element name="NullFunctionCall" type="IssueHandlerType" minOccurs="0" />
|
2017-05-22 17:59:58 +02:00
|
|
|
<xs:element name="NullIterator" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="NullOperand" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="NullPropertyAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="NullPropertyFetch" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="NullReference" type="IssueHandlerType" minOccurs="0" />
|
2017-01-13 18:03:22 +01:00
|
|
|
<xs:element name="OverriddenMethodAccess" type="IssueHandlerType" minOccurs="0" />
|
2017-04-02 21:26:10 +02:00
|
|
|
<xs:element name="ParadoxicalCondition" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="ParentNotFound" type="IssueHandlerType" minOccurs="0" />
|
2017-04-08 15:28:02 +02:00
|
|
|
<xs:element name="PossiblyInvalidArgument" type="IssueHandlerType" minOccurs="0" />
|
2017-02-11 23:58:41 +01:00
|
|
|
<xs:element name="PossiblyNullArgument" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="PossiblyNullArrayAccess" type="IssueHandlerType" minOccurs="0" />
|
2017-04-08 17:38:06 +02:00
|
|
|
<xs:element name="PossiblyNullFunctionCall" type="IssueHandlerType" minOccurs="0" />
|
2017-05-22 17:59:58 +02:00
|
|
|
<xs:element name="PossiblyNullIterator" type="IssueHandlerType" minOccurs="0" />
|
2017-02-11 23:58:41 +01:00
|
|
|
<xs:element name="PossiblyNullOperand" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="PossiblyNullPropertyAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="PossiblyNullPropertyFetch" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="PossiblyNullReference" type="IssueHandlerType" minOccurs="0" />
|
2017-04-08 15:28:02 +02:00
|
|
|
<xs:element name="PossiblyUndefinedVariable" type="IssueHandlerType" minOccurs="0" />
|
2017-02-12 00:56:38 +01:00
|
|
|
<xs:element name="PossiblyUnusedVariable" type="IssueHandlerType" minOccurs="0" />
|
2017-02-24 01:52:23 +01:00
|
|
|
<xs:element name="PossiblyUnusedMethod" type="IssueHandlerType" minOccurs="0" />
|
2017-01-27 07:23:12 +01:00
|
|
|
<xs:element name="PropertyNotSetInConstructor" type="IssueHandlerType" minOccurs="0" />
|
2017-02-23 06:25:28 +01:00
|
|
|
<xs:element name="ReferenceConstraintViolation" type="IssueHandlerType" minOccurs="0" />
|
2017-05-21 19:48:17 +02:00
|
|
|
<xs:element name="ReservedWord" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="TooFewArguments" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="TooManyArguments" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="TypeCoercion" type="IssueHandlerType" minOccurs="0" />
|
2017-04-06 21:36:22 +02:00
|
|
|
<xs:element name="TypeDoesNotContainNull" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="TypeDoesNotContainType" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedClass" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedConstant" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedFunction" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedMethod" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedPropertyAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedPropertyFetch" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedThisPropertyAssignment" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedThisPropertyFetch" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedTrait" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UndefinedVariable" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UnimplementedInterfaceMethod" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UnrecognizedExpression" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UnrecognizedStatement" type="IssueHandlerType" minOccurs="0" />
|
2017-02-12 22:49:32 +01:00
|
|
|
<xs:element name="UnevaluatedCode" type="IssueHandlerType" minOccurs="0" />
|
2017-02-08 06:28:26 +01:00
|
|
|
<xs:element name="UnusedVariable" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UnusedClass" type="IssueHandlerType" minOccurs="0" />
|
|
|
|
<xs:element name="UnusedMethod" type="IssueHandlerType" minOccurs="0" />
|
2016-12-30 04:11:10 +01:00
|
|
|
</xs:choice>
|
|
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="IssueHandlerType">
|
|
|
|
<xs:sequence>
|
|
|
|
<xs:element name="errorLevel" minOccurs="0" maxOccurs="unbounded">
|
|
|
|
<xs:complexType>
|
2016-12-30 04:16:46 +01:00
|
|
|
<xs:choice maxOccurs="unbounded">
|
2016-12-30 04:11:10 +01:00
|
|
|
<xs:element name="directory" minOccurs="0" maxOccurs="unbounded" type="NameAttributeType" />
|
|
|
|
<xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="NameAttributeType" />
|
2016-12-30 04:16:46 +01:00
|
|
|
</xs:choice>
|
2016-12-30 04:11:10 +01:00
|
|
|
|
|
|
|
<xs:attribute name="type" type="xs:string" use="required" />
|
|
|
|
</xs:complexType>
|
|
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
|
|
|
|
<xs:attribute name="errorLevel" type="xs:string" />
|
|
|
|
</xs:complexType>
|
|
|
|
</xs:schema>
|