btw, What is all this JSON/XML stuff you guys are doing. Just curious. Is
there a mail I can read to get an overall idea?

On Mon, Apr 18, 2016 at 2:32 AM, Sohani Weerasinghe <soh...@wso2.com> wrote:

> Hi All,
>
> As per the offline discussion we had, xsi:type can be supported in the
> JSON schema as described below
>
> <address postalcode="111" *xsi:type="ipo:UKAddress"*>123
> <city>ABC</city>
> </address>
>
> xsi:type can be added to a newly introduced json array called
> "elementIdentifiers" and the value will be appended to to the field name in
> the schema as shown below
>
> {
> "$schema": "http://json-schema.org/draft-04/schema#";,
> "title": "person",
> "id": "http://wso2jsonschema.org";,
> "type": "object",
> "properties": {
> "firstName": {
> "id": "http://wso2jsonschema.org/firstName";,
> "type": "string"
> },
> "*address,xsi:type=ipo:UKAddress"*: {
>                                          "id": "
> http://wso2jsonschema.org/phone";,
> "type": "object",
> "value":{
> "type": "number"
> },
>
> "properties": {
> "city": {
> "id": "http://wso2jsonschema.org/address/city";,
> "type": "string"
> }
> },
> "attributes": {
> "postalcode": {
> "id": "http://wso2jsonschema.org/address/postalcode";,
> "type": "string"
> }
> }
> }
> },
> *"elementIdentifiers": [{*
> * "type": "xsi:type"*
> * }]*
> }
>
> @Nuwan : Feel free to add things we've discussed if I've missed anything
>
> 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 Mon, Apr 11, 2016 at 11:57 AM, Sohani Weerasinghe <soh...@wso2.com>
> wrote:
>
>> Correction : This shouldn't add for the root level.
>>
>> Sohani Weerasinghe
>> Software Engineer
>> WSO2, Inc: http://wso2.com
>>
>> Mobile  : +94 716439774
>> Blog     :http://christinetechtips.blogspot.com/
>> Twitter  : https://twitter.com/sohanichristine
>>
>> On Mon, Apr 11, 2016 at 11:32 AM, Sohani Weerasinghe <soh...@wso2.com>
>> wrote:
>>
>>> Thanks Viraj.
>>>
>>> I think this should be applied to the root level as well.
>>>
>>> {
>>> "$schema": "http://json-schema.org/draft-04/schema#";,
>>> "title": "person",
>>>        * "value"{*
>>> *             "id": "http://wso2jsonschema.org
>>> <http://wso2jsonschema.org>",*
>>> *     "type": "object*
>>> *            },*
>>> "properties": {
>>> "firstName": {
>>> "id": "http://wso2jsonschema.org/firstName";,
>>> "type": "string"
>>> },
>>> "phone": {
>>> "id": "http://wso2jsonschema.org/phone";,
>>> "type": "array",
>>> "items": [{
>>>                                 *  “value”:{*
>>> *                                           "id":
>>> "http://wso2jsonschema.org/phone/phone
>>> <http://wso2jsonschema.org/phone/phone>",*
>>> *           "type": "number"*
>>> *                                    },*
>>> "attributes": {
>>> "primary": {
>>> "id": "http://wso2jsonschema.org/phone/primary";,
>>> "type": "boolean"
>>> }
>>> }
>>> }]
>>> }
>>> }
>>> }
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Sohani Weerasinghe
>>> Software Engineer
>>> WSO2, Inc: http://wso2.com
>>>
>>> Mobile  : +94 716439774
>>> Blog     :http://christinetechtips.blogspot.com/
>>> Twitter  : https://twitter.com/sohanichristine
>>>
>>> On Mon, Apr 11, 2016 at 11:14 AM, Sohani Weerasinghe <soh...@wso2.com>
>>> wrote:
>>>
>>>> Ok.  For an xml like below, let's have the value field as follows
>>>>
>>>> <person>
>>>>
>>>>        <firstName>xyz</firstName>
>>>>
>>>>        <phone primary="true">071655339</phone>
>>>>
>>>>        <phone primary="false">0112655333</phone> </person>
>>>> </person>
>>>>
>>>> {
>>>>
>>>> "$schema": "http://json-schema.org/draft-04/schema#";,
>>>>
>>>> "title": "person",
>>>>
>>>> "id": "http://wso2jsonschema.org";,
>>>>
>>>> "type": "object",
>>>>
>>>> "properties": {
>>>>
>>>> "firstName": {
>>>>
>>>> "id": "http://wso2jsonschema.org/firstName";,
>>>>
>>>> "type": "string"
>>>>
>>>> },
>>>>
>>>> "phone": {
>>>>
>>>> "id": "http://wso2jsonschema.org/phone";,
>>>>
>>>> "type": "array",
>>>>
>>>> "items": [{
>>>>
>>>> * “value”:{*
>>>>
>>>> * "id": "http://wso2jsonschema.org/phone/phone
>>>> <http://wso2jsonschema.org/phone/phone>",*
>>>>
>>>> * "type": "number"*
>>>>
>>>> * },*
>>>>
>>>> "attributes": {
>>>>
>>>> "primary": {
>>>>
>>>> "id": "http://wso2jsonschema.org/phone/primary";,
>>>>
>>>> "type": "boolean"
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> }]
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>>
>>>>
>>>> Sohani Weerasinghe
>>>> Software Engineer
>>>> WSO2, Inc: http://wso2.com
>>>>
>>>> Mobile  : +94 716439774
>>>> Blog     :http://christinetechtips.blogspot.com/
>>>> Twitter  : https://twitter.com/sohanichristine
>>>>
>>>> On Mon, Apr 11, 2016 at 11:05 AM, Nuwan Pallewela <nuw...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Sohani,
>>>>>
>>>>> +1 for the above approaches.
>>>>>
>>>>> We have to decide on how to represent non identical elements with same
>>>>> name. Viraj is working on it.
>>>>>
>>>>> Thanks,
>>>>> Nuwan
>>>>>
>>>>> On Mon, Apr 11, 2016 at 10:44 AM, Sohani Weerasinghe <soh...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Viraj/Nuwan,
>>>>>>
>>>>>> Really appreciate your input on this
>>>>>>
>>>>>> 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 Tue, Apr 5, 2016 at 12:06 PM, Sohani Weerasinghe <soh...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>> This is regarding clarifying the $subject.
>>>>>>>
>>>>>>> If we consider an xml as below, we are currently generating the
>>>>>>> below json schema
>>>>>>>
>>>>>>> <h:person xmlns:h="http://www.w3.org/TR/html4/";>
>>>>>>> <firstName>susinda</firstName>
>>>>>>>         <phone primary="true">0717777771<ext>01</ext></phone>
>>>>>>> <phone primary="false">0112655655<ext>01</ext></phone>
>>>>>>> </h:person>
>>>>>>>
>>>>>>>
>>>>>>> {
>>>>>>> "$schema": "http://json-schema.org/draft-04/schema#";,
>>>>>>> "title": "h:person",
>>>>>>> "id": "http://wso2jsonschema.org";,
>>>>>>> "type": "object",
>>>>>>> "properties": {
>>>>>>> "firstName": {
>>>>>>> "id": "http://wso2jsonschema.org/firstName";,
>>>>>>> "type": "string"
>>>>>>> },
>>>>>>> "phone": {
>>>>>>> "id": "http://wso2jsonschema.org/phone";,
>>>>>>> "type": "array",
>>>>>>> "items": [{
>>>>>>> "id": "http://wso2jsonschema.org/phone/0";,
>>>>>>> "type": "object",
>>>>>>> "properties": {
>>>>>>> "ext": {
>>>>>>> "id": "http://wso2jsonschema.org/phone/0/ext";,
>>>>>>> "type": "number"
>>>>>>> }
>>>>>>> },
>>>>>>> "attributes": {
>>>>>>> "primary": {
>>>>>>> "id": "http://wso2jsonschema.org/phone/0/primary";,
>>>>>>> "type": "boolean"
>>>>>>> }
>>>>>>> }
>>>>>>> }]
>>>>>>> }
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>> But the issue is, we don't have any field to define the data type
>>>>>>> for phone ( eg: number). So are we going to introduce a new field as 
>>>>>>> below
>>>>>>> to define the type?
>>>>>>>
>>>>>>> "phone": {
>>>>>>> "id": "http://wso2jsonschema.org/phone";,
>>>>>>> "type": "array",
>>>>>>> "items": [{
>>>>>>> "id": "http://wso2jsonschema.org/phone/0";,
>>>>>>> "type": "object",
>>>>>>>                                 "value":{
>>>>>>>                                       type: "number",
>>>>>>>                                       ....
>>>>>>>
>>>>>>>                                   } ,
>>>>>>> "properties": {
>>>>>>> "ext": {
>>>>>>> "id": "http://wso2jsonschema.org/phone/0/ext";,
>>>>>>> "type": "number"
>>>>>>> }
>>>>>>> },
>>>>>>> "attributes": {
>>>>>>> "primary": {
>>>>>>> "id": "http://wso2jsonschema.org/phone/0/primary";,
>>>>>>> "type": "boolean"
>>>>>>> }
>>>>>>> }
>>>>>>> }]
>>>>>>> }
>>>>>>>
>>>>>>> Please advice.
>>>>>>>
>>>>>>> Also, how are we going to represent an array which contains non
>>>>>>> identical elements. Are we going to introduce xsi:type?
>>>>>>>
>>>>>>> Really appreciate your input in proceeding with this.
>>>>>>>
>>>>>>> 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   *nuw...@wso2.com <nuw...@wso2.com>*
>>>>> Mobile  *+94719079739 <%2B94719079739>@*
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
With regards,
*Manu*ranga Perera.

phone : 071 7 70 20 50
mail : m...@wso2.com
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to