Subversion Repositories oidplus

Rev

View as "text/json" | Blame | Last modification | View Log | RSS feed

  1. {
  2.         "$id":"urn:ietf:id:draft-viathinksoft-oidip-07",
  3.         "$schema":"https://json-schema.org/draft/2020-12/schema",
  4.         "type":"object",
  5.         "properties":{
  6.                 "oidip":{
  7.                         "type":"object",
  8.                         "properties":{
  9.                                 "querySection":{
  10.                                         "type":"object",
  11.                                         "properties":{
  12.                                                 "query":{
  13.                                                         "$ref": "#/$defs/inputQueryType"
  14.                                                 },
  15.                                                 "result":{
  16.                                                         "type":"string",
  17.                                                         "enum":["Found", "Not found; superior object found", "Not found", "Service error"]
  18.                                                 },
  19.                                                 "distance":{
  20.                                                         "type":"integer"
  21.                                                 },
  22.                                                 "message":{
  23.                                                         "type":"string"
  24.                                                 },
  25.                                                 "lang":{
  26.                                                         "type":"string"
  27.                                                 }
  28.                                         },
  29.                                         "required":[
  30.                                                 "query",
  31.                                                 "result"
  32.                                         ]
  33.                                 },
  34.                                 "objectSection":{
  35.                                         "type":"object",
  36.                                         "properties":{
  37.                                                 "object":{
  38.                                                         "$ref": "#/$defs/inputQueryType"
  39.                                                 },
  40.                                                 "status":{
  41.                                                         "type":"string",
  42.                                                         "enum":["Information available", "Information partially available", "Information unavailable"]
  43.                                                 },
  44.                                                 "lang":{
  45.                                                         "type":"string"
  46.                                                 },
  47.                                                 "name":{
  48.                                                         "type":"string"
  49.                                                 },
  50.                                                 "description":{
  51.                                                         "type":"string"
  52.                                                 },
  53.                                                 "information":{
  54.                                                         "type":"string"
  55.                                                 },
  56.                                                 "url":{
  57.                                                         "type":"string"
  58.                                                 },
  59.                                                 "asn1-notation":{
  60.                                                         "oneOf":[
  61.                                                                 {
  62.                                                                         "type":"string"
  63.                                                                 },
  64.                                                                 {
  65.                                                                         "type":"array",
  66.                                                                         "items":{
  67.                                                                                 "type":"string"
  68.                                                                         }
  69.                                                                 }
  70.                                                         ]
  71.                                                 },
  72.                                                 "iri-notation":{
  73.                                                         "oneOf":[
  74.                                                                 {
  75.                                                                         "type":"string"
  76.                                                                 },
  77.                                                                 {
  78.                                                                         "type":"array",
  79.                                                                         "items":{
  80.                                                                                 "type":"string"
  81.                                                                         }
  82.                                                                 }
  83.                                                         ]
  84.                                                 },
  85.                                                 "identifier":{
  86.                                                         "oneOf":[
  87.                                                                 {
  88.                                                                         "type":"string"
  89.                                                                 },
  90.                                                                 {
  91.                                                                         "type":"array",
  92.                                                                         "items":{
  93.                                                                                 "type":"string"
  94.                                                                         }
  95.                                                                 }
  96.                                                         ]
  97.                                                 },
  98.                                                 "standardized-id":{
  99.                                                         "oneOf":[
  100.                                                                 {
  101.                                                                         "type":"string"
  102.                                                                 },
  103.                                                                 {
  104.                                                                         "type":"array",
  105.                                                                         "items":{
  106.                                                                                 "type":"string"
  107.                                                                         }
  108.                                                                 }
  109.                                                         ]
  110.                                                 },
  111.                                                 "unicode-label":{
  112.                                                         "oneOf":[
  113.                                                                 {
  114.                                                                         "type":"string"
  115.                                                                 },
  116.                                                                 {
  117.                                                                         "type":"array",
  118.                                                                         "items":{
  119.                                                                                 "type":"string"
  120.                                                                         }
  121.                                                                 }
  122.                                                         ]
  123.                                                 },
  124.                                                 "long-arc":{
  125.                                                         "oneOf":[
  126.                                                                 {
  127.                                                                         "type":"string"
  128.                                                                 },
  129.                                                                 {
  130.                                                                         "type":"array",
  131.                                                                         "items":{
  132.                                                                                 "type":"string"
  133.                                                                         }
  134.                                                                 }
  135.                                                         ]
  136.                                                 },
  137.                                                 "oidip-service":{
  138.                                                         "type":"string"
  139.                                                 },
  140.                                                 "attribute":{
  141.                                                         "oneOf":[
  142.                                                                 {
  143.                                                                         "type":"string",
  144.                                                                         "enum":["confidential", "draft", "frozen", "leaf", "no-identifiers", "no-unicode-labels", "retired"]
  145.                                                                 },
  146.                                                                 {
  147.                                                                         "type":"array",
  148.                                                                         "items":{
  149.                                                                                 "type":"string",
  150.                                                                                 "enum":["confidential", "draft", "frozen", "leaf", "no-identifiers", "no-unicode-labels", "retired"]
  151.                                                                         }
  152.                                                                 }
  153.                                                         ]
  154.                                                 },
  155.                                                 "parent":{
  156.                                                         "type":"string"
  157.                                                 },
  158.                                                 "subordinate":{
  159.                                                         "oneOf":[
  160.                                                                 {
  161.                                                                         "type":"string"
  162.                                                                 },
  163.                                                                 {
  164.                                                                         "type":"array",
  165.                                                                         "items":{
  166.                                                                                 "type":"string"
  167.                                                                         }
  168.                                                                 }
  169.                                                         ]
  170.                                                 },
  171.                                                 "created":{
  172.                                                         "$ref": "#/$defs/dateTimeRef"
  173.                                                 },
  174.                                                 "updated":{
  175.                                                         "$ref": "#/$defs/dateTimeRef"
  176.                                                 }
  177.                                         },
  178.                                         "required":[
  179.                                                 "object",
  180.                                                 "status"
  181.                                         ]
  182.                                 },
  183.                                 "raSection":{
  184.                                         "type":"object",
  185.                                         "properties":{
  186.                                                 "ra":{
  187.                                                         "$comment":"Note: \"ra\" keeps its name, even in Ra1SectionType et al.",
  188.                                                         "type":"string"
  189.                                                 },
  190.                                                 "status":{
  191.                                                         "type":"string",
  192.                                                         "enum":["Information available", "Information partially available", "Information unavailable"]
  193.                                                 },
  194.                                                 "lang":{
  195.                                                         "type":"string"
  196.                                                 },
  197.                                                 "contact-name":{
  198.                                                         "type":"string"
  199.                                                 },
  200.                                                 "address":{
  201.                                                         "type":"string"
  202.                                                 },
  203.                                                 "phone":{
  204.                                                         "type":"string"
  205.                                                 },
  206.                                                 "mobile":{
  207.                                                         "type":"string"
  208.                                                 },
  209.                                                 "fax":{
  210.                                                         "type":"string"
  211.                                                 },
  212.                                                 "email":{
  213.                                                         "type":"string"
  214.                                                 },
  215.                                                 "url":{
  216.                                                         "type":"string"
  217.                                                 },
  218.                                                 "attribute":{
  219.                                                         "oneOf":[
  220.                                                                 {
  221.                                                                         "type":"string",
  222.                                                                         "enum":["confidential", "retired"]
  223.                                                                 },
  224.                                                                 {
  225.                                                                         "type":"array",
  226.                                                                         "items":{
  227.                                                                                 "type":"string",
  228.                                                                                 "enum":["confidential", "retired"]
  229.                                                                         }
  230.                                                                 }
  231.                                                         ]
  232.                                                 },
  233.                                                 "created":{
  234.                                                         "$ref": "#/$defs/dateTimeRef"
  235.                                                 },
  236.                                                 "updated":{
  237.                                                         "$ref": "#/$defs/dateTimeRef"
  238.                                                 }
  239.                                         },
  240.                                         "required":[
  241.                                                 "ra",
  242.                                                 "status"
  243.                                         ]
  244.                                 },
  245.                                 "ra1Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  246.                                 "ra2Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  247.                                 "ra3Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  248.                                 "ra4Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  249.                                 "ra5Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  250.                                 "ra6Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  251.                                 "ra7Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  252.                                 "ra8Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  253.                                 "ra9Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  254.                                 "ra10Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  255.                                 "ra11Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  256.                                 "ra12Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  257.                                 "ra13Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  258.                                 "ra14Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  259.                                 "ra15Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  260.                                 "ra16Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  261.                                 "ra17Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  262.                                 "ra18Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  263.                                 "ra19Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  264.                                 "ra20Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  265.                                 "ra21Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  266.                                 "ra22Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  267.                                 "ra23Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  268.                                 "ra24Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  269.                                 "ra25Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  270.                                 "ra26Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  271.                                 "ra27Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  272.                                 "ra28Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  273.                                 "ra29Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  274.                                 "ra30Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  275.                                 "ra31Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  276.                                 "ra32Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  277.                                 "ra33Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  278.                                 "ra34Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  279.                                 "ra35Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  280.                                 "ra36Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  281.                                 "ra37Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  282.                                 "ra38Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  283.                                 "ra39Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  284.                                 "ra40Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  285.                                 "ra41Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  286.                                 "ra42Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  287.                                 "ra43Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  288.                                 "ra44Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  289.                                 "ra45Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  290.                                 "ra46Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  291.                                 "ra47Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  292.                                 "ra48Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  293.                                 "ra49Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  294.                                 "ra50Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  295.                                 "ra51Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  296.                                 "ra52Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  297.                                 "ra53Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  298.                                 "ra54Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  299.                                 "ra55Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  300.                                 "ra56Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  301.                                 "ra57Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  302.                                 "ra58Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  303.                                 "ra59Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  304.                                 "ra60Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  305.                                 "ra61Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  306.                                 "ra62Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  307.                                 "ra63Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  308.                                 "ra64Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  309.                                 "ra65Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  310.                                 "ra66Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  311.                                 "ra67Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  312.                                 "ra68Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  313.                                 "ra69Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  314.                                 "ra70Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  315.                                 "ra71Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  316.                                 "ra72Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  317.                                 "ra73Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  318.                                 "ra74Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  319.                                 "ra75Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  320.                                 "ra76Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  321.                                 "ra77Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  322.                                 "ra78Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  323.                                 "ra79Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  324.                                 "ra80Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  325.                                 "ra81Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  326.                                 "ra82Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  327.                                 "ra83Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  328.                                 "ra84Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  329.                                 "ra85Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  330.                                 "ra86Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  331.                                 "ra87Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  332.                                 "ra88Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  333.                                 "ra89Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  334.                                 "ra90Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  335.                                 "ra91Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  336.                                 "ra92Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  337.                                 "ra93Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  338.                                 "ra94Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  339.                                 "ra95Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  340.                                 "ra96Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  341.                                 "ra97Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  342.                                 "ra98Section":{ "$ref": "#/properties/oidip/properties/raSection" },
  343.                                 "ra99Section":{ "$ref": "#/properties/oidip/properties/raSection" }
  344.                         },
  345.                         "required":[
  346.                                 "querySection"
  347.                         ]
  348.                 },
  349.                 "signature":{
  350.                         "type":"string",
  351.                         "pattern":"^[A-Za-z0-9+/=]+\\.[A-Za-z0-9+/=]+\\.[A-Za-z0-9+/=]+$"
  352.                 }
  353.         },
  354.         "required":[
  355.                 "oidip"
  356.         ],
  357.         "$defs":{
  358.                 "dateTimeRef":{
  359.                         "type":"string",
  360.                         "pattern":"^\\d{4}(-(0[1-9]|1[0-2])(-(0[1-9]|1\\d|2\\d|3[0-1])( [0-5]\\d:[0-5]\\d(:[0-5]\\d)?( [+-][0-5]\\d[0-5]\\d)?)?)?)?$"
  361.                 },
  362.                 "inputQueryType":{
  363.                         "$comment":"Note: The ABNF definition is more accurate",
  364.                         "type":"string",
  365.                         "pattern":"^[a-z0-9]+:(.*)$"
  366.                 }
  367.         }
  368. }
  369.