On Wed, Mar 23, 2016 at 7:51 PM, Awanthika Senarath <awanth...@wso2.com>
wrote:

> Even though these arrays are identical, AFAIS they may occur independent,
>
> as in we may have 5 of the first array with the three items and 3 of the
> other array which is completely unrelated to the first array,
>
>
> In that case is it okey to represent them as a single array?
>
> according to [1] it seems like the xsi:type attribute is not just any
> attribute but something similar to a key word in XML. in that case IMO it
> is not correct to represent these two arrays as a merged array instance.
>
The xsi:type attribute is used to identify derived complex types[1]. In
this example we have 2 <urn:sObjects> objects which have different
xsi:types. (i.e one does not have a xsi:type but other one
having xsi:type="urn1:Contact") Therefore these two are different
objects even though it has same name.
However by looking at the given xml we can not say that it's xsd would have
<urn:sObjects> array or single element because in this example we have only
one object from each. Shall we add and object of <urn:sObjects> and check?

[1] -
http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.wst.xmleditor.doc.user%2Ftopics%2Ftxsityp.html


>
> We need to consider xsi:type attribute as a keyword. I dont know how
> viable this is though.
>
>
>
>
>
> [1]
> http://stackoverflow.com/questions/21216778/how-to-define-xsitype-as-an-attribute-in-xml-schema
>
> Regards
> Awanthika
>
>
>
> Awanthika Senarath
> Software Engineer, WSO2 Inc.
> Mobile: +94717681791
>
>
>
> On Wed, Mar 23, 2016 at 7:17 PM, Sohani Weerasinghe <soh...@wso2.com>
> wrote:
>
>> Hi All,
>>
>> If we consider the below xml, "urn:sObjects" is an array which contains
>> elements which are not identical.
>>
>> First array contains AccountId, FirstName, LastName and the other array
>> contains Name.
>>
>>      <urn:create xmlns:urn="urn:enterprise.soap.sforce.com"
>> xmlns:urn1="urn:sobject.enterprise.soap.sforce.com"  xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance";>
>>         <urn:sObjects xsi:type="urn1:Contact"> <!--Zero or more
>> repetitions:-->
>>            <!--You may enter ANY elements at this point-->
>>            <AccountId>001D000000HRzKD</AccountId>
>>            <FirstName>Jane</FirstName>
>>            <LastName>Doe</LastName>
>>         </urn:sObjects>
>>         <urn:sObjects xsi:type="urn1:Account">
>>            <Name>Acme Rockets, Inc.</Name>
>>         </urn:sObjects>
>>      </urn:create>
>>
>> The generated json schema would be as follows
>>
>> {
>>    "$Schema":"http://json-schema.org/draft-04/schema#";,
>>    "title":"urn:create",
>>    "id":"http://jsonschema.net";,
>>    "type":"object",
>>    "properties":{
>>       "urn:create":{
>>          "id":"http://jsonschema.net/urn:create";,
>>          "type":"object",
>>          "properties":{
>>             "urn:sObjects":{
>>                "id":"http://jsonschema.net/urn:create/urn:sObjects";,
>>                "type":"array",
>>                "items":[
>>                   {
>>                      "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0";,
>>                      "type":"object",
>>                      "properties":{
>>                         "AccountId":{
>>                            "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0/AccountId";,
>>                            "type":"string"
>>                         },
>>                         "@type":{
>>                            "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0/@type";,
>>                            "type":"string"
>>                         },
>>                         "FirstName":{
>>                            "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0/FirstName";,
>>                            "type":"string"
>>                         },
>>                         "LastName":{
>>                            "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0/LastName";,
>>                            "type":"string"
>>                         }
>>                      }
>>                   },
>>                   {
>>                      "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0";,
>>                      "type":"object",
>>                      "properties":{
>>                         "@type":{
>>                            "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0/@type";,
>>                            "type":"string"
>>                         },
>>                         "Name":{
>>                            "id":"
>> http://jsonschema.net/urn:create/urn:sObjects/0/Name";,
>>                            "type":"string"
>>                         }
>>                      }
>>                   }
>>                ]
>>             }
>>          }
>>       }
>>    },
>>    "namespaces":[
>>       {
>>          "prefix":"urn",
>>          "url":"urn:enterprise.soap.sforce.com"
>>       },
>>       {
>>          "prefix":"xsi",
>>          "url":"http://www.w3.org/2001/XMLSchema-instance";
>>       },
>>       {
>>          "prefix":"urn1",
>>          "url":"urn:sobject.enterprise.soap.sforce.com"
>>       }
>>    ]
>> }
>>
>>
>> I am facing an issue in representing this in the tree view. Are we going
>> to add all 4 elements ( AccountId, FirstName, LastName and Name) under the
>> array object?
>>
>> 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
>>
>
>


-- 
*Susinda Perera*
Software Engineer
B.Sc.(Eng), M.Sc(Computer Science), AMIE(SL)
Mobile:(+94)716049075
Blog: susinda.blogspot.com
WSO2 Inc. http://wso2.com/
Tel : 94 11 214 5345 Fax :94 11 2145300
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to