Schema to specify a Package-URL (PURL) type as a structured definition.
No Additional PropertiesContains the URL of the JSON schema for Package-URL type definition.
Specific value:"https://packageurl.org/schemas/purl-type-definition.schema-1.0.json"
The unique identifier URI for this PURL type definition.
Must match regular expression:^https:\/\/packageurl\.org/types/[a-z0-9-]+-definition\.json$
The type string for this Package-URL type.
Must match regular expression:^[a-z][a-z0-9-\.]+$
"maven"
"npm"
"pypi"
The name for this PURL type.
"Apache Maven"
"Python Package"
The description of this PURL type.
The package repository usage for this PURL type.
No Additional Propertiestrue if this PURL type uses a public package repository.
The default public repository URL for this PURL type
Extra note text.
Definition of the namespace component for this PURL type. The PURL namespace component must be required, optional or prohibited for a specific PURL type definition.
A regular expression (ECMA-262 dialect) defining the 'Permitted characters' for this component of this Package-URL type. If provided, this must be a subset of the 'Permitted characters' defined in the PURL specification.
true if this PURL component is case sensitive. If false, the canonical form must be lowercased.
List of rules to normalize this component for this PURL type. These are plain text, unstructured rules as some require programming and cannot be enforced only with a schema. Tools are expected to apply these rules programmatically.
All items must be unique
No Additional ItemsThe native name of this PURL component in the package ecosystem. For instance, the 'namespace' for the 'maven' type is 'groupId', and 'scope' for the 'npm' PURL type.
Extra note text.
States that the PURL namespace component is optional, required or prohibited for a PURL type.
States that this PURL component is optional for a PURL type.
Specific value:"optional"
States that this PURL component is required for a PURL type.
Specific value:"required"
States that this PURL component is prohibited for a PURL type.
Specific value:"prohibited"
Definition of the name component for this PURL type. The PURL name component is required for all PURL type definitions.
A regular expression (ECMA-262 dialect) defining the 'Permitted characters' for this component of this Package-URL type. If provided, this must be a subset of the 'Permitted characters' defined in the PURL specification.
true if this PURL component is case sensitive. If false, the canonical form must be lowercased.
List of rules to normalize this component for this PURL type. These are plain text, unstructured rules as some require programming and cannot be enforced only with a schema. Tools are expected to apply these rules programmatically.
All items must be unique
No Additional ItemsThe native name of this PURL component in the package ecosystem. For instance, the 'namespace' for the 'maven' type is 'groupId', and 'scope' for the 'npm' PURL type.
Extra note text.
States that the PURL name component is always required.
Specific value:"required"
Definition of the version component for this PURL type. The PURL version component is optional for a specific PURL type definition.
A regular expression (ECMA-262 dialect) defining the 'Permitted characters' for this component of this Package-URL type. If provided, this must be a subset of the 'Permitted characters' defined in the PURL specification.
true if this PURL component is case sensitive. If false, the canonical form must be lowercased.
List of rules to normalize this component for this PURL type. These are plain text, unstructured rules as some require programming and cannot be enforced only with a schema. Tools are expected to apply these rules programmatically.
All items must be unique
No Additional ItemsThe native name of this PURL component in the package ecosystem. For instance, the 'namespace' for the 'maven' type is 'groupId', and 'scope' for the 'npm' PURL type.
Extra note text.
States that the PURL version is optional.
Specific value:"optional"
Definition of the qualifiers specific to this PURL type. The PURL qualifiers component is optional for a specific PURL type, but a qualifiers key or keys may be required for a specific PURL type.
All items must be unique
No Additional ItemsThe definition of a qualifier specific to this PURL type.
No Additional PropertiesThe key for the qualifier.
States that a PURL qualifier key is optional or required for a PURL type.
States that this PURL component is optional for a PURL type.
Specific value:"optional"
States that this PURL component is required for a PURL type.
Specific value:"required"
The description of this qualifier.
The optional default value of this qualifier if not provided.
The equivalent native name for this qualifier key.
The definition for the subpath for this PURL type. The PURL subpath component is optional for a specific PURL type definition.
A regular expression (ECMA-262 dialect) defining the 'Permitted characters' for this component of this Package-URL type. If provided, this must be a subset of the 'Permitted characters' defined in the PURL specification.
true if this PURL component is case sensitive. If false, the canonical form must be lowercased.
List of rules to normalize this component for this PURL type. These are plain text, unstructured rules as some require programming and cannot be enforced only with a schema. Tools are expected to apply these rules programmatically.
All items must be unique
No Additional ItemsThe native name of this PURL component in the package ecosystem. For instance, the 'namespace' for the 'maven' type is 'groupId', and 'scope' for the 'npm' PURL type.
Extra note text.
States that the PURL subpath is optional.
Specific value:"optional"
Example of valid, canonical PURLs for this package type.
Must contain a minimum of 1 items
All items must be unique
No Additional Items^pkg:[a-z][a-z0-9-\.]+/.*$
Note about this PURL type.
Optional list of informational reference URLs about this PURL type.
All items must be unique
No Additional Items