Ответ 1
Вы обнаружили ошибку в спецификации, так что вы на самом деле неправильно интерпретируете что-то.
Существует обновленная версия (через два дня) интернет-проекта на веб-сайте IETF, где этот пример отличается.
см. ниже: http://tools.ietf.org/html/draft-fge-json-schema-validation-00#page-13
Поскольку документ представляет собой интернет-проект, скорее всего, версия на http://datatracker.ietf.org/ является правильной версией.
Статус этой заметки
Этот интернет-проект представлен в полном соответствии с положения BCP 78 и BCP 79.
Интернет-черновики - это рабочие документы Internet Engineering
Целевая группа (IETF). Обратите внимание, что другие группы также могут распространять рабочих документов в виде интернет-проектов. Список текущих интернет-сайтов Черновики находятся на http://datatracker.ietf.org/drafts/current/.Интернет-проекты - это рабочие документы Интернет-инжиниринга
Целевая группа (IETF).
Кроме того, две версии имеют разные даты и даты истечения срока действия:
- версия, на которую вы ссылаетесь - написано: 30 января 2013 г. и истекает: 3 августа 2013 г..
- версия на ietf - написана на: 1 февраля 2013 г. и истекает: 5 августа 2013 г.
В версии IETF:
Эта схема будет использоваться в качестве примера:
{ "properties": { "p1": {} }, "patternProperties": { "p": {}, "[0-9]": {} }, "additionalProperties": false
Это пример проверки:
{ "p1": true, "p2": null, "a32 & o": "foobar", ": [], " скрипка ": 42, " apple ":" pie"}
Три набора свойств:
s [ "p1", "p2", "a32&o", "", "fiddle", "apple" ] p [ "p1" ] pp [ "p", "[0-9]" ]
Применение двух шагов алгоритма:
after the first step, "p1" is removed from "s"; after the second step, "p2" (matched by "p"), "a32&o" (matched by "[0-9]") and "apple" (matched by "p") are removed from "s".
Набор "s" по-прежнему содержит два элемента: "и" скрипку". Проверка поэтому не удается.