You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -322,7 +328,7 @@ If the property is not defined or is not in this list, then any type of value is
322
328
]]></artwork>
323
329
</figure>
324
330
</section>
325
-
<sectiontitle="properties">
331
+
<sectiontitle="properties"anchor="properties">
326
332
<t>This attribute is an object with property definitions that define the valid values of instance object property values. When the instance value is an object, the property values of the instance object MUST conform to the property definitions in this object. In this object, each property definition's value MUST be a schema or URI referring to a schema, and the property's name MUST be the name of the instance property that it defines. The instance property value MUST be valid according to the schema from the property definition. Properties are considered unordered, the order of the instance properties MAY be in any order.</t>
327
333
</section>
328
334
<sectiontitle="patternProperties">
@@ -368,8 +374,16 @@ The dependency value can take one of two forms:
368
374
<sectiontitle="maxItems">
369
375
<t>This attribute defines the maximum number of values in an array when the array is the instance value.</t>
370
376
</section>
371
-
<sectiontitle="uniqueItems">
372
-
<t>This attribute indicates that all the items in an array MUST be unique (no two identical values) within that array when the array is the instance value. Uniqueness is only defined for primitive types: strings, numbers, booleans, and nulls.</t>
377
+
<sectiontitle="uniqueItems"anchor="uniqueItems">
378
+
<t>This attribute indicates that all items in an array instance MUST be unique (contains no two identical values).</t>
379
+
<t>Two instance are consider equal if they are both of the same type and:
380
+
<list>
381
+
<t>are null; or</t>
382
+
<t>are booleans/numbers/strings and have the same value; or</t>
383
+
<t>are arrays, contains the same number of items, and each item in the array is equal to the corresponding item in the other array; or</t>
384
+
<t>are objects, contains the same property names, and each property in the object is equal to the corresponding property in the other object.</t>
385
+
</list>
386
+
</t>
373
387
</section>
374
388
<sectiontitle="pattern">
375
389
<t>When the instance value is a string, this provides a regular expression that a string instance MUST match in order to be valid. Regular expressions SHOULD follow the regular expression specification from ECMA 262/Perl 5</t></section>
@@ -380,7 +394,10 @@ The dependency value can take one of two forms:
380
394
<t>When the instance value is a string, this defines the minimum length of the string.</t>
381
395
</section>
382
396
<sectiontitle="enum">
383
-
<t>This provides an enumeration of all possible values that are valid for the instance property. This MUST be an array, and each item in the array represents a possible value for the instance value. If this attribute is defined, the instance value MUST be one of the values in the array in order for the schema to be valid.</t>
397
+
<t>This provides an enumeration of all possible values that are valid for the instance property. This MUST be an array, and each item in the array represents a possible value for the instance value. If this attribute is defined, the instance value MUST be one of the values in the array in order for the schema to be valid. Comparison of enum values uses the same algorithm as defined in <xreftarget="uniqueItems">"uniqueItems"</xref>.</t>
398
+
</section>
399
+
<sectiontitle="default">
400
+
<t>This attribute defines the default value of the instance when the instance is undefined.</t>
384
401
</section>
385
402
<sectiontitle="title">
386
403
<t>This attribute is a string that provides a short description of the instance property.</t>
@@ -389,7 +406,7 @@ The dependency value can take one of two forms:
389
406
<t>This attribute is a string that provides a full description of the of purpose the instance property.</t>
390
407
</section>
391
408
392
-
<sectiontitle="format"><t>This property defines the type of data, content type, or microformat to be expected in the instance property values. A format attribute MAY be one of the values listed below, and if so, SHOULD adhere to the semantics describing for the format. A format SHOULD only be used to give meaning to primitive types (string, integer, number, or boolean). Validators are not required to validate that the instance values conform to a format. The following formats are predefined:</t>
409
+
<sectiontitle="format"><t>This property defines the type of data, content type, or microformat to be expected in the instance property values. A format attribute MAY be one of the values listed below, and if so, SHOULD adhere to the semantics describing for the format. A format SHOULD only be used to give meaning to primitive types (string, integer, number, or boolean). Validators MAY (but are not required to) validate that the instance values conform to a format. The following formats are predefined:</t>
393
410
<t>
394
411
<liststyle="hanging">
395
412
<thangText="date-time">This SHOULD be a date in ISO 8601 format of YYYY-MM-DDThh:mm:ssZ in UTC time. This is the recommended form of date/timestamp.
@@ -407,10 +424,10 @@ The dependency value can take one of two forms:
407
424
</t><thangText="host-name">This SHOULD be a host-name.</t>
408
425
</list>
409
426
</t>
410
-
<t>Additional custom formats MAY be referenced with a URI.</t>
427
+
<t>Additional custom formats MAY be created. These custom formats MAY be expressed as an URI, and this URI MAY reference a schema of that format.</t>
411
428
</section>
412
-
<sectiontitle="maxDecimal">
413
-
<t>This attribute defines the maximum number of decimal points a number instance can have.</t>
429
+
<sectiontitle="divisibleBy">
430
+
<t>This attribute defines what value the number instance must be divisible by with no remainder. (The result of the division must be an integer.)</t>
414
431
</section>
415
432
<sectiontitle="disallow">
416
433
<t>This attribute takes the same values as the "type" attribute, however if the instance matches the type or if this value is an array and the instance matches any type or schema or a URI referencing a schema in the array, then this instance is not valid.</t>
@@ -657,12 +674,10 @@ the default media type.
657
674
</section>
658
675
<sectiontitle="properties">
659
676
<t>
660
-
This is inherited from the base JSON schema definition, and can follow the
661
-
same structure, but its meaning SHOULD be used to define the acceptable
677
+
This attribute has the same structure as the core JSON Schema <xreftarget="properties">"properties" attribute</xref>,
678
+
but its meaning SHOULD be used to define the acceptable
662
679
property names and values for the action (whether it be for the GET query
663
-
or POST body). If properties are omitted, and this form is the child of a
664
-
schema, the properties from the parent schema SHOULD be used as the basis
665
-
for the form action.
680
+
or POST body).
666
681
</t>
667
682
</section>
668
683
</section>
@@ -759,10 +774,6 @@ If the instance property value is a string, this attribute defines that the stri
759
774
</t>
760
775
</section>
761
776
762
-
<sectiontitle="default">
763
-
<t>This attribute defines the default value of the instance when the instance is undefined.</t>
764
-
</section>
765
-
766
777
<sectiontitle="pathStart">
767
778
<t>
768
779
This attribute is a URI that defines what the instance's URI MUST start with in order to validate.
@@ -926,12 +937,11 @@ instead of numbers</t>
926
937
<t>Added more explanation of nullability.</t>
927
938
<t>Removed "alternate" attribute.</t>
928
939
<t>Upper cased many normative usages of must, may, and should.</t>
929
-
<t>Replaced "divisibleBy" attribute with "maxDecimal" attribute.</t>
930
940
<t>Replaced "optional" attribute with "required" attribute.</t>
931
941
<t>Replaced "maximumCanEqual" attribute with "exclusiveMaximum" attribute.</t>
932
942
<t>Replaced "minimumCanEqual" attribute with "exclusiveMinimum" attribute.</t>
933
943
<t>Replaced "requires" attribute with "dependencies" attribute.</t>
934
-
<t>Moved "default" and "contentEncoding" attributes to hyper schema</t>
944
+
<t>Moved "contentEncoding" attribute to hyper schema.</t>
935
945
<t>Added "additionalItems" attribute.</t>
936
946
<t>Added "id" attribute.</t>
937
947
<t>Switched self-referencing variable substitution from "-this" to "@" to align with reserved characters in URI template.</t>
0 commit comments