Skip to content

Commit 9b32946

Browse files
authored
Merge pull request json-schema-org#938 from ssilverman/output-keyword-relative
Fix output relative locations to be consistent. "Raw pointer was intentional and the example showing a fragment is an error, because there's no base URI against which that fragment could be resolved."
2 parents ed501eb + cf59d7a commit 9b32946

File tree

2 files changed

+33
-33
lines changed

2 files changed

+33
-33
lines changed

jsonschema-core.xml

+31-31
Original file line numberDiff line numberDiff line change
@@ -2676,7 +2676,7 @@ https://example.com/schemas/common#/$defs/count/minimum
26762676
<section title="Instance Location">
26772677
<t>
26782678
The location of the JSON value within the instance being validated. The
2679-
value MUST be expressed as a URI fragment-encoded JSON Pointer.
2679+
value MUST be expressed as a JSON Pointer.
26802680
</t>
26812681
<t>
26822682
The JSON key for this information is "instanceLocation".
@@ -2829,34 +2829,34 @@ https://example.com/schemas/common#/$defs/count/minimum
28292829
"valid": false,
28302830
"errors": [
28312831
{
2832-
"keywordLocation": "#",
2833-
"instanceLocation": "#",
2832+
"keywordLocation": "",
2833+
"instanceLocation": "",
28342834
"error": "A subschema had errors."
28352835
},
28362836
{
2837-
"keywordLocation": "#/items/$ref",
2837+
"keywordLocation": "/items/$ref",
28382838
"absoluteKeywordLocation":
28392839
"https://example.com/polygon#/$defs/point",
2840-
"instanceLocation": "#/1",
2840+
"instanceLocation": "/1",
28412841
"error": "A subschema had errors."
28422842
},
28432843
{
2844-
"keywordLocation": "#/items/$ref/required",
2844+
"keywordLocation": "/items/$ref/required",
28452845
"absoluteKeywordLocation":
28462846
"https://example.com/polygon#/$defs/point/required",
2847-
"instanceLocation": "#/1",
2847+
"instanceLocation": "/1",
28482848
"error": "Required property 'y' not found."
28492849
},
28502850
{
2851-
"keywordLocation": "#/items/$ref/additionalProperties",
2851+
"keywordLocation": "/items/$ref/additionalProperties",
28522852
"absoluteKeywordLocation":
28532853
"https://example.com/polygon#/$defs/point/additionalProperties",
2854-
"instanceLocation": "#/1/z",
2854+
"instanceLocation": "/1/z",
28552855
"error": "Additional property 'z' found but was invalid."
28562856
},
28572857
{
2858-
"keywordLocation": "#/minItems",
2859-
"instanceLocation": "#",
2858+
"keywordLocation": "/minItems",
2859+
"instanceLocation": "",
28602860
"error": "Expected at least 3 items but found 2"
28612861
}
28622862
]
@@ -2896,38 +2896,38 @@ https://example.com/schemas/common#/$defs/count/minimum
28962896
<![CDATA[
28972897
{
28982898
"valid": false,
2899-
"keywordLocation": "#",
2900-
"instanceLocation": "#",
2899+
"keywordLocation": "",
2900+
"instanceLocation": "",
29012901
"errors": [
29022902
{
29032903
"valid": false,
2904-
"keywordLocation": "#/items/$ref",
2904+
"keywordLocation": "/items/$ref",
29052905
"absoluteKeywordLocation":
29062906
"https://example.com/polygon#/$defs/point",
2907-
"instanceLocation": "#/1",
2907+
"instanceLocation": "/1",
29082908
"errors": [
29092909
{
29102910
"valid": false,
2911-
"keywordLocation": "#/items/$ref/required",
2911+
"keywordLocation": "/items/$ref/required",
29122912
"absoluteKeywordLocation":
29132913
"https://example.com/polygon#/$defs/point/required",
2914-
"instanceLocation": "#/1",
2914+
"instanceLocation": "/1",
29152915
"error": "Required property 'y' not found."
29162916
},
29172917
{
29182918
"valid": false,
2919-
"keywordLocation": "#/items/$ref/additionalProperties",
2919+
"keywordLocation": "/items/$ref/additionalProperties",
29202920
"absoluteKeywordLocation":
29212921
"https://example.com/polygon#/$defs/point/additionalProperties",
2922-
"instanceLocation": "#/1/z",
2922+
"instanceLocation": "/1/z",
29232923
"error": "Additional property 'z' found but was invalid."
29242924
}
29252925
]
29262926
},
29272927
{
29282928
"valid": false,
2929-
"keywordLocation": "#/minItems",
2930-
"instanceLocation": "#",
2929+
"keywordLocation": "/minItems",
2930+
"instanceLocation": "",
29312931
"error": "Expected at least 3 items but found 2"
29322932
}
29332933
]
@@ -2979,28 +2979,28 @@ https://example.com/schemas/common#/$defs/count/minimum
29792979
// result
29802980
{
29812981
"valid": false,
2982-
"keywordLocation": "#",
2983-
"instanceLocation": "#",
2982+
"keywordLocation": "",
2983+
"instanceLocation": "",
29842984
"errors": [
29852985
{
29862986
"valid": true,
2987-
"keywordLocation": "#/type",
2988-
"instanceLocation": "#"
2987+
"keywordLocation": "/type",
2988+
"instanceLocation": ""
29892989
},
29902990
{
29912991
"valid": true,
2992-
"keywordLocation": "#/properties",
2993-
"instanceLocation": "#"
2992+
"keywordLocation": "/properties",
2993+
"instanceLocation": ""
29942994
},
29952995
{
29962996
"valid": false,
2997-
"keywordLocation": "#/additionalProperties",
2998-
"instanceLocation": "#",
2997+
"keywordLocation": "/additionalProperties",
2998+
"instanceLocation": "",
29992999
"errors": [
30003000
{
30013001
"valid": false,
3002-
"keywordLocation": "#/additionalProperties",
3003-
"instanceLocation": "#/disallowedProp",
3002+
"keywordLocation": "/additionalProperties",
3003+
"instanceLocation": "/disallowedProp",
30043004
"error": "Additional property 'disallowedProp' found but was invalid."
30053005
}
30063006
]

output/schema.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
"valid": { "type": "boolean" },
1616
"keywordLocation": {
1717
"type": "string",
18-
"format": "uri-reference"
18+
"format": "json-pointer"
1919
},
2020
"absoluteKeywordLocation": {
2121
"type": "string",
2222
"format": "uri"
2323
},
2424
"instanceLocation": {
2525
"type": "string",
26-
"format": "uri-reference"
26+
"format": "json-pointer"
2727
},
2828
"errors": {
2929
"$ref": "#/$defs/outputUnitArray"

0 commit comments

Comments
 (0)