<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thank you for shedding more light, this will help me out quite a bit.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> quickfixn-bounces@lists.quickfixn.com [mailto:quickfixn-bounces@lists.quickfixn.com] <b>On Behalf Of </b>Mike Gatny<br><b>Sent:</b> Tuesday, March 05, 2013 12:50 PM<br><b>To:</b> Mailing list for QuickFIX/n<br><b>Subject:</b> Re: {{Quickfixn}} FW: FW: question about messages<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On Tue, Mar 5, 2013 at 11:35 AM, James A. Smith <<a href="mailto:jsmith@anstca.com" target="_blank">jsmith@anstca.com</a>> wrote:<o:p></o:p></p><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'>Given an incoming message, how can I get *<b>the</b>* set of keys (Fix TAGS) for that message?  I understand the messages are pre-defined in the XML file, however, vendors can add custom Fix TAGS too right?</span><o:p></o:p></p></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>True, and typically you would receive a specification document from your counterparty instead of trying to figure this out on the fly.  You would then modify the quickfix data dictionary (XML) accordingly.  You don't have to do that if 1) you don't care about validation and 2) there are no incoming messages with repeating groups.  They may even have a quickfix-formatted data dictionary they can give you, if you ask.  <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'>  So there may be additional Fix TAGS that are vendor specific in a given message?  Is there a generic way to get the set of Fix TAGS from the message that are in the message?</span><o:p></o:p></p></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Each message is a FieldMap, which is IEnumerable.  So I suppose you could do this:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><blockquote style='margin-left:30.0pt;margin-right:0in'><div><div><div><p class=MsoNormal><span style='font-family:"Courier New"'>foreach (KeyValuePair<int, QuickFix.Fields.IField> kvp in msg)</span><o:p></o:p></p></div></div></div><div><div><div><p class=MsoNormal><span style='font-family:"Courier New"'>    System.Console.WriteLine(kvp);</span><o:p></o:p></p></div></div></div></blockquote><div><div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal>-- <br><span style='font-family:"Arial","sans-serif"'>Mike Gatny<br>Connamara Systems, LLC</span> <o:p></o:p></p></div></body></html>