+1 for using "attr_" .
On Wed, Mar 2, 2016 at 11:35 AM, Sohani Weerasinghe <[email protected]> wrote: > Thanks for the input. Let's use - "name" : "attr_gender" > > 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 2, 2016 at 11:31 AM, Susinda Perera <[email protected]> wrote: > >> How about *attr* (lowercase) >> >> On Wed, Mar 2, 2016 at 11:29 AM, Sohani Weerasinghe <[email protected]> >> wrote: >> >>> I think it's better if we can use "ATR" instead of "ATT" >>> >>> 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 2, 2016 at 11:25 AM, Sohani Weerasinghe <[email protected]> >>> wrote: >>> >>>> Hi All, >>>> >>>> When representing attributes in avro schema, according to [1] the >>>> suggested approach is to use @ as a prefix. >>>> >>>> Since avro name should start with [A-Za-z] and subsequently contain >>>> only [A-Za-z0-9_], shall we represent it as below (adding ATT as a prefix) >>>> >>>> "name" : "*ATT*_gender" >>>> >>>> [1] >>>> https://docs.google.com/spreadsheets/d/15eyRuxn9rFazULASqtB2DZaSAVznKqSNnIGrwvdpzic/edit?ts=56d5250b#gid=0 >>>> >>>> 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 2, 2016 at 7:47 AM, Sohani Weerasinghe <[email protected]> >>>> wrote: >>>> >>>>> >>>>> Please find the attached image which represents the prefix in the >>>>> tree view >>>>> >>>>> 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 2, 2016 at 7:45 AM, Sohani Weerasinghe <[email protected]> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> 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 2, 2016 at 6:28 AM, Jasintha Dasanayake < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Mar 1, 2016 at 9:07 PM, Sohani Weerasinghe <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Thanks Nuwan for the response. >>>>>>>> >>>>>>>> When generating the avro schema by adding elements to the tree >>>>>>>> view, user can specify the namespace (xml namespace) with the prefix, >>>>>>>> so >>>>>>>> that when generating the the avro schema we can map the namespace to >>>>>>>> doc >>>>>>>> and prefix to the namespace in avro. >>>>>>>> >>>>>>> >>>>>>> Yes that's mapping is fine , somehow we need to show at least prefix >>>>>>> in the tree view otherwise user experience won't be nice since user >>>>>>> have to >>>>>>> check it explicitly while doing the mapping >>>>>>> >>>>>> >>>>>> Yes, I have implemented that and the prefix will be shown in the tree >>>>>> view. >>>>>> >>>>>>> >>>>>>> Thanks and Regards >>>>>>> /Jasintha. >>>>>>> >>>>>>>> >>>>>>>> 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, Mar 1, 2016 at 8:54 PM, Nuwan Pallewela <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Mar 1, 2016 at 7:34 PM, Sohani Weerasinghe < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi All, >>>>>>>>>> >>>>>>>>>> If we consider an XML which has multiple namespaces as below , >>>>>>>>>> >>>>>>>>>> <root> >>>>>>>>>> <h:table xmlns:h="http://www.w3.org/TR/html4/"> >>>>>>>>>> <h:name>Asian Coffee Table</h:name> >>>>>>>>>> <h:width>74</h:width> >>>>>>>>>> <h:length>129</h:length> >>>>>>>>>> </h:table> >>>>>>>>>> <f:table xmlns:f="http://www.w3schools.com/furniture"> >>>>>>>>>> <f:name>African Coffee Table</f:name> >>>>>>>>>> <f:width>80</f:width> >>>>>>>>>> <f:length>120</f:length> >>>>>>>>>> </f:table> >>>>>>>>>> </root> >>>>>>>>>> >>>>>>>>>> The avro schema should be as follows , >>>>>>>>>> >>>>>>>>>> { >>>>>>>>>> "type" : "record", >>>>>>>>>> "name" : "root", >>>>>>>>>> "fields" : [ { >>>>>>>>>> "type" : "record", >>>>>>>>>> "name" : "tableRecord", >>>>>>>>>> * "doc" : "http://www.w3.org/TR/html4/ >>>>>>>>>> <http://www.w3.org/TR/html4/>",* >>>>>>>>>> "namespace" : "http://www.w3.org/TR/html4/" >>>>>>>>>> "fields" : [ { >>>>>>>>>> "name" : "name", >>>>>>>>>> "type" : [ "null", "string" ] >>>>>>>>>> "doc" : "http://www.w3.org/TR/html4/" >>>>>>>>>> } , { >>>>>>>>>> "name" : "width", >>>>>>>>>> "type" : [ "null", "int" ] >>>>>>>>>> },{ >>>>>>>>>> "name" : "length", >>>>>>>>>> "type" : [ "null", "int" ] >>>>>>>>>> }] >>>>>>>>>> }, { >>>>>>>>>> "type" : "record", >>>>>>>>>> "name" : "tableRecord", >>>>>>>>>> * "doc" : "http://www.w3schools.com/furniture >>>>>>>>>> <http://www.w3schools.com/furniture>",* >>>>>>>>>> "namespace" : "http://www.w3schools.com/furniture" >>>>>>>>>> "fields" : [ { >>>>>>>>>> "name" : "name", >>>>>>>>>> "type" : [ "null", "string" ] >>>>>>>>>> } , { >>>>>>>>>> "name" : "width", >>>>>>>>>> "type" : [ "null", "int" ] >>>>>>>>>> },{ >>>>>>>>>> "name" : "length", >>>>>>>>>> "type" : [ "null", "int" ] >>>>>>>>>> }] >>>>>>>>>> } ] >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> When representing this using the Visual DataMapper Editor, in >>>>>>>>>> order to differentiate the two records, we can add a namespace >>>>>>>>>> prefix to >>>>>>>>>> the name of the record as shown below. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> But when generating the Avro Schema, if we pass this value as >>>>>>>>>> the name of the node it throws >>>>>>>>>> *org.apache.avro.SchemaParseException: >>>>>>>>>> Illegal character in: y:tableRecord.* >>>>>>>>>> >>>>>>>>> >>>>>>>>> AVRO name should start with [A-Za-z] and subsequently contain >>>>>>>>> only [A-Za-z0-9_]. So we can not pass name with namespace prefix. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> So, if we use only the name (tableRecord, by removing the prefix) >>>>>>>>>> to create the avro schema, how are we going to differentiate the >>>>>>>>>> records >>>>>>>>>> separately when generating the mapping config? >>>>>>>>>> >>>>>>>>> >>>>>>>>> We should add above xml namespace prefix as the namespace of AVRO >>>>>>>>> record. Then two elements can be differentiated. >>>>>>>>> For Eg: >>>>>>>>> >>>>>>>>> { >>>>>>>>> "type" : "record", >>>>>>>>> "name" : "root", >>>>>>>>> "fields" : [ { >>>>>>>>> "type" : "record", >>>>>>>>> "name" : "tableRecord", >>>>>>>>> * "doc" : "http://www.w3.org/TR/html4/ >>>>>>>>> <http://www.w3.org/TR/html4/>",* >>>>>>>>> "namespace" : "N1", >>>>>>>>> "fields" : [ { >>>>>>>>> "name" : "name", >>>>>>>>> "type" : [ "null", "string" ], >>>>>>>>> "doc" : "http://www.w3.org/TR/html4/" >>>>>>>>> } , { >>>>>>>>> "name" : "width", >>>>>>>>> "type" : [ "null", "int" ], >>>>>>>>> "doc" : "http://www.w3.org/TR/html4/" >>>>>>>>> },{ >>>>>>>>> "name" : "length", >>>>>>>>> "type" : [ "null", "int" ], >>>>>>>>> "doc" : "http://www.w3.org/TR/html4/" >>>>>>>>> }] >>>>>>>>> }, { >>>>>>>>> "type" : "record", >>>>>>>>> "name" : "tableRecord", >>>>>>>>> * "doc" : "http://www.w3schools.com/furniture >>>>>>>>> <http://www.w3schools.com/furniture>",* >>>>>>>>> "namespace" : "N2", >>>>>>>>> "fields" : [ { >>>>>>>>> "name" : "name", >>>>>>>>> "type" : [ "null", "string" ], >>>>>>>>> *"doc" : "http://www.w3schools.com/furniture >>>>>>>>> <http://www.w3schools.com/furniture>"* >>>>>>>>> } , { >>>>>>>>> "name" : "width", >>>>>>>>> "type" : [ "null", "int" ] >>>>>>>>> *"doc" : "http://www.w3schools.com/furniture >>>>>>>>> <http://www.w3schools.com/furniture>"* >>>>>>>>> },{ >>>>>>>>> "name" : "length", >>>>>>>>> "type" : [ "null", "int" ], >>>>>>>>> *"doc" : "http://www.w3schools.com/furniture >>>>>>>>> <http://www.w3schools.com/furniture>"* >>>>>>>>> }] >>>>>>>>> } ] >>>>>>>>> } >>>>>>>>> >>>>>>>>> Then the full names of the two tableRecords will be N1.tableRecord >>>>>>>>> and N2.tableRecord and AVRO can differentiate these two fields. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> eg: If we are to map a field in y:tableRecord with a field >>>>>>>>>> in y:tableRecord etc. How can we differentiate this? >>>>>>>>>> >>>>>>>>>> This usecase of having multiple namespaces can be displayed >>>>>>>>>> graphically in the Design view by appending a namespace prefix, but >>>>>>>>>> it >>>>>>>>>> seems this will have issues in generating the avro schema and the >>>>>>>>>> mapping >>>>>>>>>> config. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Mapping configuration does not need to be aware of the namespaces >>>>>>>>> as long as they can be differentiate in the diagram. Output from the >>>>>>>>> mapping will look into the output schema and will build the output >>>>>>>>> message >>>>>>>>> with desired namespaces. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Your suggestions are highly appreciated. >>>>>>>>>> >>>>>>>>>> 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>@* >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *Jasintha Dasanayake* >>>>>>> >>>>>>> *Senior Software EngineerWSO2 Inc. | http://wso2.com >>>>>>> <http://wso2.com/>lean . enterprise . middleware* >>>>>>> >>>>>>> >>>>>>> *mobile :- 0711368118 <0711368118>* >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >> >> -- >> *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 >> >> > -- ---------------------------------------------------------- *Nuwan Chamara Pallewela* *Software Engineer* *WSO2, Inc. *http://wso2.com *lean . enterprise . middleware* Email *[email protected] <[email protected]>* Mobile *+94719079739@*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
