OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cmis message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Commented: (CMIS-672) Use a JSON Schema



    [ http://tools.oasis-open.org/issues/browse/CMIS-672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=23523#action_23523 ] 

Gregory Melahn commented on CMIS-672:
-------------------------------------

In http://www.oasis-open.org/apps/org/workgroup/cmis-browser/download.php/40336/cmis-schema-v0.1-browserbinding.json I updated the schema document, incorporating most of the changes suggested by Florian.  A few discussion points remain however. 

1. Use of Union

For example, for Properties: http://docs.oasis-open.org/ns/cmis/browser/201103/properties

I had...
 
 array  { union {
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyString";;
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyBoolean";;
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyDecimal";;
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyInteger";;
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyDateTime";;
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyUri";;
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyId";;
             ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyHtml";
            } property;
 };

Florian had suggested 

 array  {
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyString";;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyBoolean";;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyDecimal";;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyInteger";;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyDateTime";;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyUri";;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyId";;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyHtml";
 }*;

I think the union is needed in cases like that since otherwise this would be an array of a string, followed by a boolean etc, and not array composed of elements that can be of any of these types.

2.  Use of * in referenced types

For extending types in cases where a reference is used, I had for example...

Property Definition Type : http://docs.oasis-open.org/ns/cmis/browser/201103/propertyDefinitionType

  object {
       string  id;
       string  localName;
       string  localNameSpace?;
       string  displayName?;
       string  queryName?;
       string  description?;
       string  propertyType [ "string", "boolean", "decimal", "integer", "datetime", "uri", "id", "html" ];
       string  cardinality [ "single", "multi" ];
       string  updatability ["readonly", "readwrite", "whencheckedout", "oncreate" ];
       boolean inherited?;
       boolean required;
       boolean queryable;
       boolean openChoice?;
 }*;
 
  Property String Definition Type : http://docs.oasis-open.org/ns/cmis/browser/201103/propertyStringDefinitionType

  object {
       ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyDefinitionType"; base;
       integer maxLength?;
       string defaultValue?;
       ref "http://docs.oasis-open.org/ns/cmis/browser/201103/ChoiceString"; choice?;
      };

Notice that there is no '* in the property string def.

Florian had ...

 Property String Definition Type : http://docs.oasis-open.org/ns/cmis/browser/201103/propertyStringDefinitionType

  object {
       ref "http://docs.oasis-open.org/ns/cmis/browser/201103/propertyDefinitionType"; base;
       integer maxLength?;
       string defaultValue?;
       ref "http://docs.oasis-open.org/ns/cmis/browser/201103/ChoiceString"; choice?;
  }*;
  
Is the '*' at the end really necessary?   I had followed a literal translation from the xsd in cases like that and left it out, thinking the fact that propertyDefinitionType is extensible would be enough.   I am not sure which is correct.



> Use a JSON Schema 
> ------------------
>
>                 Key: CMIS-672
>                 URL: http://tools.oasis-open.org/issues/browse/CMIS-672
>             Project: OASIS Content Management Interoperability Services (CMIS) TC
>          Issue Type: Improvement
>          Components: Browser Binding
>    Affects Versions: Browser Binding Proposal
>         Environment: All
>            Reporter: Gregory Melahn
>            Assignee: Gregory Melahn
>             Fix For: Browser Binding Proposal
>
>
> Use a JSON  schema to define the Browser Binding.   
> Candidates include ...
> 1.  Orderly: http://orderly-json.org/
> 2.  JSON Schema http://json-schema.org/

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]