phpDocumentor

jsonschema.inc.php

validation de la conformité d'une instance Php à un schéma JSON

journal:

  • 3/9/2023:
    • reformattage de la doc en PHPDoc
    • définition d'un espace de noms et renommage des noms de classe
    • suppression de is_assoc_array() remplacé par !array_is_list()
  • 22/1/2021:
    • passage à Php 8
    • redéfinition de la logique de tests élémentaires
    • Schema::autocheck() transmet le répertoire du doc au schéma
  • 5/11/2020:
    • ajout constructeur sur Status pour permettre une initialisation non vide
  • 3/4/2020:
    • modification du mécanisme de registre de schéma
    • Les URI en http://id.georef.eu/ et http://docs.georef.eu/ ne sont pas réécrites dans Lib::predef() mais traitées par Lib::deref() en faisant appel à getFragmentFromPath() définie dans YamlDoc
  • 24/2/2019:
    • modification des règles de réécriture dans Lib::predef()
  • 5-8/2/2019:
    • ajout de la possibilité dans Lib::file_get_contents() d'exécuter un script Php renvoyant un array Php
  • 26/1/2019:
    • modification dans Schema::autoCheck() du cas ou on ajoute .schema.yaml au nom du fichier du schéma
  • 24/1/2019:
    • utilisation du mot-clé $schema à la place de jSchema
  • 23/1/2019:
    • correction d'un bug lors de l'ouverture d'un schéma dont le chemin est défini en relatif
    • amélioration de l'erreur lors qu'un élément d'un schéma n'est pas défini
  • 19/1/2019:
    • scission du fichier jsonschema.inc.php en jsonschema.inc.php et jsonschelt.inc.php
    • ajout de Lib::deref() pour déréférencer un pointeur JSON
    • permet d'utiliser les URL http://{name}.georef.eu/ pour des docs autres que des schémas
    • ajout de la possibilité de définir des options d'affichage dans Schema::check()
    • ajout de Schema::autoCheck() pour vérifier qu'une instance est conforme au schéma défini par le champ jSchema
  • 18/1/2019:
    • Ajout fonctionnalité d'utilisation de schémas prédéfinis
  • 16-17/1/2019:
    • Correction d'un bug sur items
    • Modif de la logique de vérification pour ne pas traiter les ensembles de types comme des anyOf()
    • Traitement de AdditionalItems comme schema
  • 15/1/2019:
    • Correction d'un bug sur PropertyNames
  • 11-14/1/2018:
    • Renforcement des tests et correction de bugs
    • ajout additionalProperties, propertyNames, minProperties, maxProperties, minItems, maxItems, contains, uniqueItems minLength, maxLength, pattern, Generic Enumerated misc values, Generic const misc values, multiple, dependencies allOf, oneOf, not, Tuple validation, Tuple validation w additional items, format
    • Publication sur Gihub
  • 9-10/1/2018:
    • Réécriture complète en 3 classes: schéma JSON, élément d'un schéma et statut d'une vérification
    • Correction d'un bug dans la vérification d'un schéma par le méta-schéma
  • 8/1/2018:
    • BUG trouvé: lorsqu'un schéma référence un autre schéma dans le même répertoire,
    • le répertoire de référence doit être le répertoire courant du schéma
  • 7/1/2019:
    • BUG trouvé dans l'utilisation d'une définition dans un oneOf,
    • oneOf coupe le lien vers le schema racine pour éviter d'enregistrer les erreurs alors que les référence vers une définition a besoin de ce lien voir http://localhost/schema/?action=check&file=ex/route500
    • début de correction
      • quand on a une hiérarchie de schéma, dans lequel chercher une définition ?
    • a priori je prenais la racine mais ce n'est pas toujours le cas
    • solution: distinguer les vrai schémas des pseudo-schémas qui sont des parties d'un schéma
  • 3/1/2019
    • les fonctions complémentaires ne sont définies que si elles ne le sont pas déjà
    • correction bug
  • 2/1/2019
    • ajout oneOf
    • correction du test d'une propriété requise qui prend la valeur nulle
    • correction de divers bugs détectés par les tests sur des exemples de GeoJSON
    • assouplissement de la détection dans $ref au premier niveau d'un schema
    • ajout d'un mécanisme de tests unitaires
    • ajout patternProperties et test sur http://localhost/yamldoc/?doc=dublincoreyd&ypath=%2Ftables%2Fdcmes%2Fdata
  • 1/1/2019
    • première version

Table of Contents

Classes

Status
Statut de vérification de conformité d'une instance à un schéma
Lib
classe statique portant qqs méthodes statiques
Schema
schéma JSON initialisé soit par un chemin dans un fichier JSON/Yaml, soit par un array Php

        
On this page

Search results