This commit is contained in:
Marek
2026-03-24 00:04:55 +01:00
commit c5229e48ed
4225 changed files with 511461 additions and 0 deletions

View File

@@ -0,0 +1,163 @@
<?xml version="1.0" ?>
<xsd:schema xmlns="http://symfony.com/schema/dic/constraint-mapping"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://symfony.com/schema/dic/constraint-mapping"
elementFormDefault="qualified">
<xsd:annotation>
<xsd:documentation><![CDATA[
Symfony Validator Constraint Mapping Schema, version 1.0
Authors: Bernhard Schussek
A constraint mapping connects classes, properties and getters with
validation constraints.
]]></xsd:documentation>
</xsd:annotation>
<xsd:element name="constraint-mapping" type="constraint-mapping" />
<xsd:complexType name="constraint-mapping">
<xsd:annotation>
<xsd:documentation><![CDATA[
The root element of the constraint mapping definition.
]]></xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="namespace" type="namespace" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="class" type="class" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="namespace">
<xsd:annotation>
<xsd:documentation><![CDATA[
Contains the abbreviation for a namespace.
]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="prefix" type="xsd:string" use="required" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="class">
<xsd:annotation>
<xsd:documentation><![CDATA[
Contains constraints for a single class.
Nested elements may be class constraints, property and/or getter
definitions.
]]></xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="group-sequence-provider" type="group-sequence-provider" minOccurs="0" maxOccurs="1" />
<xsd:element name="group-sequence" type="group-sequence" minOccurs="0" maxOccurs="1" />
<xsd:element name="constraint" type="constraint" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="property" type="property" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="getter" type="getter" minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="group-sequence">
<xsd:annotation>
<xsd:documentation><![CDATA[
Contains the group sequence of a class. Each group should be written
into a "value" tag.
]]></xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="group-sequence-provider">
<xsd:annotation>
<xsd:documentation><![CDATA[
Defines the name of the group sequence provider for a class.
]]></xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="value" type="value" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="property">
<xsd:annotation>
<xsd:documentation><![CDATA[
Contains constraints for a single property. The name of the property
should be given in the "name" option.
]]></xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="constraint" type="constraint" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="getter">
<xsd:annotation>
<xsd:documentation><![CDATA[
Contains constraints for a getter method. The name of the corresponding
property should be given in the "property" option.
]]></xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="constraint" type="constraint" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="property" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="constraint" mixed="true">
<xsd:annotation>
<xsd:documentation><![CDATA[
Contains a constraint definition. The name of the constraint should be
given in the "name" option.
May contain a single value, multiple "constraint" elements,
multiple "value" elements or multiple "option" elements.
]]></xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0">
<xsd:element name="constraint" type="constraint" minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="option" type="option" minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="option" mixed="true">
<xsd:annotation>
<xsd:documentation><![CDATA[
Contains a constraint option definition. The name of the option
should be given in the "name" option.
May contain a single value, multiple "value" elements or multiple
"constraint" elements.
]]></xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0">
<xsd:element name="constraint" type="constraint" minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="value" mixed="true">
<xsd:annotation>
<xsd:documentation><![CDATA[
A value of an element.
May contain a single value, multiple "value" elements or multiple
"constraint" elements.
]]></xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0">
<xsd:element name="constraint" type="constraint" minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
</xsd:choice>
<xsd:attribute name="key" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:schema>

View File

@@ -0,0 +1,123 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Symfony Validation Mapping Schema",
"description": "JSON schema for Symfony's validation mapping",
"type": "object",
"additionalProperties": false,
"properties": {
"namespaces": {
"type": "object",
"description": "Namespace aliases for constraint classes",
"additionalProperties": {
"type": "string",
"description": "Full namespace path"
}
}
},
"patternProperties": {
"^[A-Za-z0-9\\\\_]+$": {
"type": "object",
"description": "Class metadata configuration",
"additionalProperties": false,
"properties": {
"group_sequence": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "Array of validation group names"
},
{
"type": "boolean"
}
],
"description": "Validation group sequence or group sequence provider flag"
},
"group_sequence_provider": {
"oneOf": [
{
"type": "boolean",
"description": "Enable/disable group sequence provider"
},
{
"type": "string",
"description": "Class name of the group sequence provider"
}
]
},
"constraints": {
"$ref": "#/definitions/constraintArray"
},
"properties": {
"type": "object",
"description": "Property-level constraints",
"additionalProperties": {
"$ref": "#/definitions/constraintArrayOrNull"
}
},
"getters": {
"type": "object",
"description": "Getter method constraints",
"additionalProperties": {
"$ref": "#/definitions/constraintArrayOrNull"
}
}
}
}
},
"definitions": {
"constraintArray": {
"type": "array",
"description": "Array of constraints",
"items": {
"oneOf": [
{
"type": "object",
"description": "Constraint with options",
"minProperties": 1,
"maxProperties": 1,
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
{
"type": "string",
"description": "Simple constraint name"
}
]
}
},
"constraintArrayOrNull": {
"oneOf": [
{
"type": "null",
"description": "No constraints"
},
{
"$ref": "#/definitions/constraintArray"
}
]
}
}
}