+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

Reply via email to