Deprecated: Return type of YDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/ydata.inc.php on line 428

Deprecated: Return type of YamlDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/yamldata.inc.php on line 295
yamldoc/ydclasses (pub)
Menu : html yaml json edit check reindex dump unset
* 

title gestion des classes de documents YamlDoc (ydclasses)
abstract

Définition de classes de documents

Une classe de documents correspond à:

  • une classe Php implémentant:
    • des méthodes de consultation interactive du document,
    • une API de consultation en machine to machine,
    • une API Php d'utilisation du document en interne à YamlDoc.
  • éventuellement un schéma défini par un schéma JSON,
spec

A une classe {yamlClass} correspond:

  • un éventuel fichier ~/html/yamldoc/ydclasses/{yamlClass}.sch.yaml définissant le schéma JSON
  • une classe Php {yamlClass} définie dans un fichier {yamlClassInt}.inc.php où {yamlClassInt} est un nom interne utilisé pour le fichier Php

Le fichier {yamlClassInt}.inc.php est inclus dans différent script, notamment le viewer, il doit:

  • définir une entrée de la variable globale $phpDocs pour la valeur {yamlClassInt}.inc.php qui doit comprendre :
    • une entrée file fournissant une documentation texte sur le fichier Php
    • une entrée classes avec une entrée par classe définie fournissant une documentation texte sur la classe Php

La classe Php {yamlClass}:

  • doit hériter de la classe YamlDoc, sauf les classes OdtDoc et PdfDoc qui héritent de la classe Doc.
uriUrl

Définition des URI et URL

  • http://ydclasses.georef.eu/{yamlClass} est l'URI d'une classe de documents YamlDoc,
    exemple: http://ydclasses.georef.eu/YData,
  • la résolution de l'URI d'une classe fournit comme doc HTML une documentation de la classe avec des liens vers le schéma de la classe en Yaml et en JSON,
  • les URL suivantes sont déduites de l'URI d'une classe:
    • http://ydclasses.georef.eu/{yamlClass}/schema fournit le schéma de la classe en JSON,
      cet URI est utilisé dans le champ $schema d'un document pour définir sa classe,
    • http://ydclasses.georef.eu/{yamlClass}/schema.yaml fournit le schéma de la classe en Yaml,
    • http://ydclasses.georef.eu/{yamlClass}/api décrit l'API REST de la classe en OAI et en Yaml (A FAIRE),
  • ces résolutions sont mises en oeuvre par un résolveur exposé sur ~/html/yamldoc/ydclasses.php
liste

Les classes générales définies sont les suivantes:

Les classes spécifiques à la gestion de l'information géographique sont les suivantes:

La liste efectivement implémentée est disponible ici.