private static void ImportStringKvpEx(XPathNavigator xpBase, GxiProfile p,
                                              GxiContext c, bool bFirst)
        {
            string strKey = QueryValue(xpBase, (bFirst ? p.StringKeyXPath :
                                                p.StringKeyXPath2), (bFirst ? p.StringKeyUseName :
                                                                     p.StringKeyUseName2));

            if (string.IsNullOrEmpty(strKey))
            {
                return;
            }

            strKey = ApplyRepl(strKey, (bFirst ? c.StringKeyRepl : c.StringKeyRepl2));
            if (strKey.Length == 0)
            {
                return;
            }

            if (p.StringKeyToStd)
            {
                string strMapped = ImportUtil.MapNameToStandardField(strKey,
                                                                     p.StringKeyToStdFuzzy);
                if (!string.IsNullOrEmpty(strMapped))
                {
                    strKey = strMapped;
                }
            }

            string strValue = QueryValueSafe(xpBase, (bFirst ? p.StringValueXPath :
                                                      p.StringValueXPath2));

            strValue = ApplyRepl(strValue, (bFirst ? c.StringValueRepl :
                                            c.StringValueRepl2));

            ImportUtil.AppendToField(c.Entry, strKey, strValue, c.Database);
        }