Hi Sohani,

Instead of properties array with attributes supported with @ prefix, can we
use an attributes array in the schema ?

For example :

Current definition :

"address": {
            "id": "http://jsonschema.net/employee/0/address";,
            "type": "object",
            "properties": {
              "city": {
                "id": "http://jsonschema.net/employee/0/address/city";,
                "type": "string"
              },
              "@no": {
                "id": "http://jsonschema.net/employee/0/address/no";,
                "type": "string"
              },
              "road": {
                "id": "http://jsonschema.net/employee/0/address/road";,
                "type": "string"
              }
            }
          }

With attributes array :

"address": {
        "id": "http://jsonschema.net/employee/0/address";,
        "type": "object",
        "attributes": {
            "no": {
                "id": "http://jsonschema.net/employee/0/address/no";,
                 "type": "string"
            }
        },
        "properties": {
            "city": {
                "id": "http://jsonschema.net/employee/0/address/city";,
                        "type": "string"
            },
                   "road": {
                "id": "http://jsonschema.net/employee/0/address/road";,
                        "type": "string"
            }
        }
    }

Two reasons to suggest this :

1. We do not have to use a prefix to define attributes and they can be
easily distinguished from other fields since they are defined separate from
other fields (properties)
2. In the case of a primitive type with attributes, we can still preserve
the type as string and have attributes instead of using properties (since
properties are only valid in json schema for object type)


WDYT?

Thanks,
Maheeka

Maheeka Jayasuriya
Software Engineer
Mobile : +94777750661

On Wed, Mar 16, 2016 at 10:54 AM, Sohani Weerasinghe <[email protected]>
wrote:

> Hi,
>
> Please find the schema and the visual representation for representing the
> attributes.
>
>       {
>   "$schema": "http://json-schema.org/draft-04/schema#";,
>   "id": "http://jsonschema.net";,
>   "title" : "employees",
>   "type": "object",
>   "properties": {
>     "employee": {
>       "id": "http://jsonschema.net/employee";,
>       "type": "array",
>       "items": {
>         "id": "http://jsonschema.net/employee/0";,
>         "type": "object",
>         "properties": {
>           "firstname": {
>             "id": "http://jsonschema.net/employee/0/firstname";,
>             "type": "string"
>           },
>           "lastname": {
>             "id": "http://jsonschema.net/employee/0/lastname";,
>             "type": "string"
>           },
>           "address": {
>             "id": "http://jsonschema.net/employee/0/address";,
>             "type": "object",
>             "properties": {
>               "city": {
>                 "id": "http://jsonschema.net/employee/0/address/city";,
>                 "type": "string"
>               },
>              * "@no": {*
>                 "id": "http://jsonschema.net/employee/0/address/no";,
>                 "type": "string"
>               },
>               "road": {
>                 "id": "http://jsonschema.net/employee/0/address/road";,
>                 "type": "string"
>               }
>             }
>           }
>         },
>         "required": [
>           "firstname",
>           "lastname",
>           "address"
>         ]
>       },
>       "required": [
>         "0"
>       ]
>     }
>   },
>   "required": [
>     "employee"
>   ]
> }
>
> Thanks,
> Sohani
>
>
>
> Sohani Weerasinghe
> Software Engineer
> WSO2, Inc: http://wso2.com
>
> Mobile  : +94 716439774
> Blog     :http://christinetechtips.blogspot.com/
> Twitter  : https://twitter.com/sohanichristine
>
> On Wed, Mar 16, 2016 at 10:35 AM, Sohani Weerasinghe <[email protected]>
> wrote:
>
>> Thanks Nuwan. Shall we go with '@' then?
>>
>> Sohani Weerasinghe
>> Software Engineer
>> WSO2, Inc: http://wso2.com
>>
>> Mobile  : +94 716439774
>> Blog     :http://christinetechtips.blogspot.com/
>> Twitter  : https://twitter.com/sohanichristine
>>
>> On Wed, Mar 16, 2016 at 10:23 AM, Nuwan Pallewela <[email protected]>
>> wrote:
>>
>>> Hi sohani,
>>>
>>> I think we do not need to include new type called "attr" to define it as
>>> a attribute. We can name the field with a prefix like "@" or "attr_".
>>>
>>> Eg:
>>> "@firstname": {
>>>             "id": "http://jsonschema.net/employee/0/firstname";,
>>>             "type": "string"
>>>           },
>>>
>>> or
>>>
>>> "attr_firstname": {
>>>             "id": "http://jsonschema.net/employee/0/firstname";,
>>>             "type": "string"
>>>           },
>>>
>>> Thanks,
>>> Nuwan
>>>
>>> On Wed, Mar 16, 2016 at 10:15 AM, Sohani Weerasinghe <[email protected]>
>>> wrote:
>>>
>>>> Hi Nuwan/ Viraj,
>>>>
>>>> Can you please mention how are we going to handle $subject?
>>>>
>>>> Can we have a new field as attr as below to handle the attributes?
>>>>
>>>> "firstname": {
>>>>             "id": "http://jsonschema.net/employee/0/firstname";,
>>>>             "type": "string",
>>>>             *"attr" : "xyz"*
>>>>           },
>>>>
>>>> Thanks,
>>>> Sohani
>>>>
>>>> Sohani Weerasinghe
>>>> Software Engineer
>>>> WSO2, Inc: http://wso2.com
>>>>
>>>> Mobile  : +94 716439774
>>>> Blog     :http://christinetechtips.blogspot.com/
>>>> Twitter  : https://twitter.com/sohanichristine
>>>>
>>>
>>>
>>>
>>> --
>>> ----------------------------------------------------------
>>>
>>> *Nuwan Chamara Pallewela*
>>>
>>>
>>> *Software Engineer*
>>>
>>> *WSO2, Inc. *http://wso2.com
>>> *lean . enterprise . middleware*
>>>
>>> Email   *[email protected] <[email protected]>*
>>> Mobile  *+94719079739 <%2B94719079739>@*
>>>
>>>
>>>
>>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to