jsonschema plusieurs valeurs pour une propriété de type chaîne

J'ai un json schéma qui décrit assez complexe API syntaxe d'interrogation. Un peu de propriétés sont motif trouvé, mais ils doivent également accepter d'autres valeurs (c'est à dire d'autres explicite de chaînes de caractères) autres que le motif. Je n'arrive pas à trouver n'importe où dans la multitude de json schema sites des exemples de cette.

Un exemple:

{
    "type": "object",
    "properties": {
        "$gte": {
            "type": "string",
            "pattern": "<some-pattern>"
        }
    }
}

Ce que j'aimerais être capable de faire dans l'exemple ci-dessus est de spécifier qu' $gte peut être l'un des un certain ensemble de valeurs forcées. Par exemple, cette mise en œuvre exige que "$gte"'s des valeurs de contrainte à l'une des opérations suivantes:

  1. Un format de date spécifique
  2. Un jeton {token} qui sera remplacé par une valeur spéciale sur le serveur-côté

J'ai vu le oneOf biens utilisés dans cette situation, mais seulement avec la format bien, donc je suis en supposant que cela est possible, tout simplement pas sûr de la syntaxe de la façon de la mettre en œuvre, par exemple, elle pourrait être quelque chose comme ceci:

{
    "type": "object",
    "properties": {
        "$gte": {
            "type": "string",
            "oneOf": [
                {"pattern": "<some-pattern>"},
                "{token}",
                "{another_token}"
            ]
        }
    }
}

Toute la clarté sur la manière d'accomplir ce serait grandement apprécié que je ne suis pas du avoir beaucoup de chance avec la spécification du Projet 4 json schema ou en trouver des exemples.

OriginalL'auteur Jeff U. | 2014-10-23