Repeating Groups in FIX seem to be a noteable design flaw

Imported from previous forum

Hi, all.
I am rather new to FIX, but I had to adjust our FIX codes to a new market. I found this quite inconvenient because of the repeating groups. This is because repeating group tags are market-dependent. I do not know why it was designed this way. But now there is no general market-independent way to parse repeating groups. Why not implement repeating groups using general tags, that specify group name (beginning tag), number of items and a special tag that ends the record and specifies the nesting level of the group it ends?
For example (# used to mark a comment line, newline is used to code fix field separator)

Begins group GroupName, which has 2 records

GroupBegin=GroupName,2

here starts the first record of the group

Field1=X

here starts the nested group

GroupBegin=NestedGroupName,1
FieldNested=XYZ

here the nested group ends (nesting level = 2)

EndGroup=2
Field2=Y

here the enclosing group (nesting level = 1) ends

EndGroup=1

here starts the next record, which does not contain a nested group

Field1=X
Field2=Y
Field3=Z
EndGroup=1

[ original email was from Joseph Horowitz - jhorowitz@aegisoft.com ]
Leonid,

Here is a old thread regarding this topic:
http://www.fixprotocol.org/discuss/read/c350a885

Note the last posting in the above thread by Dean Kauffman.
http://www.fixprotocol.org/discuss/read/502f8ded

Thanks!
-Joey

Hi, all. I am rather new to FIX, but I had to adjust our FIX codes to a
new market. I found this quite inconvenient because of the repeating
groups. This is because repeating group tags are market-dependent. I do
not know why it was designed this way. But now there is no general market-
independent way to parse repeating groups. Why not implement repeating
groups using general tags, that specify group name (beginning tag),
number of items and a special tag that ends the record and specifies the
nesting level of the group it ends? For example (# used to mark a
comment line, newline is used to code fix field separator)

Begins group GroupName, which has 2 records

GroupBegin=GroupName,2

here starts the first record of the group

Field1=X

here starts the nested group

GroupBegin=NestedGroupName,1 FieldNested=XYZ

here the nested group ends (nesting level = 2)

EndGroup=2 Field2=Y

here the enclosing group (nesting level = 1) ends

EndGroup=1

here starts the next record, which does not contain a nested group

Field1=X Field2=Y Field3=Z EndGroup=1

[ original email was from John Unwin - john@unwin.co.uk ]
Leonid,
Can you give a specific example?
Many Thanks
John

Hi, all. I am rather new to FIX, but I had to adjust our FIX codes to a
new market. I found this quite inconvenient because of the repeating
groups. This is because repeating group tags are market-dependent. I do
not know why it was designed this way. But now there is no general market-
independent way to parse repeating groups. Why not implement repeating
groups using general tags, that specify group name (beginning tag),
number of items and a special tag that ends the record and specifies the
nesting level of the group it ends? For example (# used to mark a
comment line, newline is used to code fix field separator)

Begins group GroupName, which has 2 records

GroupBegin=GroupName,2

here starts the first record of the group

Field1=X

here starts the nested group

GroupBegin=NestedGroupName,1 FieldNested=XYZ

here the nested group ends (nesting level = 2)

EndGroup=2 Field2=Y

here the enclosing group (nesting level = 1) ends

EndGroup=1

here starts the next record, which does not contain a nested group

Field1=X Field2=Y Field3=Z EndGroup=1