Online xsd generators[1] generate xsd as one object having all four elements as child elements of urn:sObjects, without considering xsi:type. https://devutilsonline.com/xsd-xml/generate-xsd-from-xml
On Wed, Mar 23, 2016 at 9:47 PM, Susinda Perera <[email protected]> wrote: > > > On Wed, Mar 23, 2016 at 7:51 PM, Awanthika Senarath <[email protected]> > 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 <[email protected]> >> 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 > > -- *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 [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
