FrameworkFork\Microsoft.Xml\Xml\BinaryXml\XmlBinaryReader.cs (783)
298private BinXmlToken _token;
367_token = BinXmlToken.Error;
824_token = BinXmlToken.Element;
826_token = BinXmlToken.XmlDecl;
828_token = BinXmlToken.DocType;
862BinXmlToken tok = RescanNextToken();
863if (BinXmlToken.Attr == tok || BinXmlToken.EndAttrs == tok)
874_token = BinXmlToken.Error;
897_token = BinXmlToken.Error;
1024BinXmlToken token = RescanNextToken();
1025if (BinXmlToken.Attr == token || BinXmlToken.EndAttrs == token)
1081case BinXmlToken.XSD_BOOLEAN:
1085case BinXmlToken.SQL_BIT:
1086case BinXmlToken.SQL_TINYINT:
1087case BinXmlToken.SQL_SMALLINT:
1088case BinXmlToken.SQL_INT:
1089case BinXmlToken.SQL_BIGINT:
1090case BinXmlToken.SQL_REAL:
1091case BinXmlToken.SQL_FLOAT:
1092case BinXmlToken.SQL_MONEY:
1093case BinXmlToken.SQL_SMALLMONEY:
1094case BinXmlToken.SQL_DATETIME:
1095case BinXmlToken.SQL_SMALLDATETIME:
1096case BinXmlToken.SQL_DECIMAL:
1097case BinXmlToken.SQL_NUMERIC:
1098case BinXmlToken.XSD_DECIMAL:
1099case BinXmlToken.SQL_UUID:
1100case BinXmlToken.SQL_VARBINARY:
1101case BinXmlToken.SQL_BINARY:
1102case BinXmlToken.SQL_IMAGE:
1103case BinXmlToken.SQL_UDT:
1104case BinXmlToken.XSD_KATMAI_DATE:
1105case BinXmlToken.XSD_KATMAI_DATETIME:
1106case BinXmlToken.XSD_KATMAI_TIME:
1107case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1108case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1109case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1110case BinXmlToken.XSD_BINHEX:
1111case BinXmlToken.XSD_BASE64:
1112case BinXmlToken.XSD_TIME:
1113case BinXmlToken.XSD_DATETIME:
1114case BinXmlToken.XSD_DATE:
1115case BinXmlToken.XSD_BYTE:
1116case BinXmlToken.XSD_UNSIGNEDSHORT:
1117case BinXmlToken.XSD_UNSIGNEDINT:
1118case BinXmlToken.XSD_UNSIGNEDLONG:
1119case BinXmlToken.XSD_QNAME:
1122case BinXmlToken.SQL_CHAR:
1123case BinXmlToken.SQL_VARCHAR:
1124case BinXmlToken.SQL_TEXT:
1125case BinXmlToken.SQL_NCHAR:
1126case BinXmlToken.SQL_NVARCHAR:
1127case BinXmlToken.SQL_NTEXT:
1130case BinXmlToken.Element:
1131case BinXmlToken.EndElem:
1171case BinXmlToken.SQL_DATETIME:
1172case BinXmlToken.SQL_SMALLDATETIME:
1173case BinXmlToken.XSD_TIME:
1174case BinXmlToken.XSD_DATETIME:
1175case BinXmlToken.XSD_DATE:
1176case BinXmlToken.XSD_KATMAI_DATE:
1177case BinXmlToken.XSD_KATMAI_DATETIME:
1178case BinXmlToken.XSD_KATMAI_TIME:
1179case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1180case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1181case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1185case BinXmlToken.SQL_BIT:
1186case BinXmlToken.SQL_TINYINT:
1187case BinXmlToken.SQL_SMALLINT:
1188case BinXmlToken.SQL_INT:
1189case BinXmlToken.SQL_BIGINT:
1190case BinXmlToken.SQL_REAL:
1191case BinXmlToken.SQL_FLOAT:
1192case BinXmlToken.SQL_MONEY:
1193case BinXmlToken.SQL_SMALLMONEY:
1194case BinXmlToken.SQL_DECIMAL:
1195case BinXmlToken.SQL_NUMERIC:
1196case BinXmlToken.XSD_DECIMAL:
1197case BinXmlToken.SQL_UUID:
1198case BinXmlToken.SQL_VARBINARY:
1199case BinXmlToken.SQL_BINARY:
1200case BinXmlToken.SQL_IMAGE:
1201case BinXmlToken.SQL_UDT:
1202case BinXmlToken.XSD_BINHEX:
1203case BinXmlToken.XSD_BASE64:
1204case BinXmlToken.XSD_BOOLEAN:
1205case BinXmlToken.XSD_BYTE:
1206case BinXmlToken.XSD_UNSIGNEDSHORT:
1207case BinXmlToken.XSD_UNSIGNEDINT:
1208case BinXmlToken.XSD_UNSIGNEDLONG:
1209case BinXmlToken.XSD_QNAME:
1212case BinXmlToken.SQL_CHAR:
1213case BinXmlToken.SQL_VARCHAR:
1214case BinXmlToken.SQL_TEXT:
1215case BinXmlToken.SQL_NCHAR:
1216case BinXmlToken.SQL_NVARCHAR:
1217case BinXmlToken.SQL_NTEXT:
1220case BinXmlToken.Element:
1221case BinXmlToken.EndElem:
1266case BinXmlToken.SQL_REAL:
1267case BinXmlToken.SQL_FLOAT:
1271case BinXmlToken.SQL_BIT:
1272case BinXmlToken.SQL_TINYINT:
1273case BinXmlToken.SQL_SMALLINT:
1274case BinXmlToken.SQL_INT:
1275case BinXmlToken.SQL_BIGINT:
1276case BinXmlToken.SQL_MONEY:
1277case BinXmlToken.SQL_SMALLMONEY:
1278case BinXmlToken.SQL_DATETIME:
1279case BinXmlToken.SQL_SMALLDATETIME:
1280case BinXmlToken.SQL_DECIMAL:
1281case BinXmlToken.SQL_NUMERIC:
1282case BinXmlToken.XSD_DECIMAL:
1283case BinXmlToken.SQL_UUID:
1284case BinXmlToken.SQL_VARBINARY:
1285case BinXmlToken.SQL_BINARY:
1286case BinXmlToken.SQL_IMAGE:
1287case BinXmlToken.SQL_UDT:
1288case BinXmlToken.XSD_KATMAI_DATE:
1289case BinXmlToken.XSD_KATMAI_DATETIME:
1290case BinXmlToken.XSD_KATMAI_TIME:
1291case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1292case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1293case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1294case BinXmlToken.XSD_BINHEX:
1295case BinXmlToken.XSD_BASE64:
1296case BinXmlToken.XSD_BOOLEAN:
1297case BinXmlToken.XSD_TIME:
1298case BinXmlToken.XSD_DATETIME:
1299case BinXmlToken.XSD_DATE:
1300case BinXmlToken.XSD_BYTE:
1301case BinXmlToken.XSD_UNSIGNEDSHORT:
1302case BinXmlToken.XSD_UNSIGNEDINT:
1303case BinXmlToken.XSD_UNSIGNEDLONG:
1304case BinXmlToken.XSD_QNAME:
1307case BinXmlToken.SQL_CHAR:
1308case BinXmlToken.SQL_VARCHAR:
1309case BinXmlToken.SQL_TEXT:
1310case BinXmlToken.SQL_NCHAR:
1311case BinXmlToken.SQL_NVARCHAR:
1312case BinXmlToken.SQL_NTEXT:
1315case BinXmlToken.Element:
1316case BinXmlToken.EndElem:
1361case BinXmlToken.SQL_REAL:
1362case BinXmlToken.SQL_FLOAT:
1366case BinXmlToken.SQL_BIT:
1367case BinXmlToken.SQL_TINYINT:
1368case BinXmlToken.SQL_SMALLINT:
1369case BinXmlToken.SQL_INT:
1370case BinXmlToken.SQL_BIGINT:
1371case BinXmlToken.SQL_MONEY:
1372case BinXmlToken.SQL_SMALLMONEY:
1373case BinXmlToken.SQL_DATETIME:
1374case BinXmlToken.SQL_SMALLDATETIME:
1375case BinXmlToken.SQL_DECIMAL:
1376case BinXmlToken.SQL_NUMERIC:
1377case BinXmlToken.XSD_DECIMAL:
1378case BinXmlToken.SQL_UUID:
1379case BinXmlToken.SQL_VARBINARY:
1380case BinXmlToken.SQL_BINARY:
1381case BinXmlToken.SQL_IMAGE:
1382case BinXmlToken.SQL_UDT:
1383case BinXmlToken.XSD_KATMAI_DATE:
1384case BinXmlToken.XSD_KATMAI_DATETIME:
1385case BinXmlToken.XSD_KATMAI_TIME:
1386case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1387case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1388case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1389case BinXmlToken.XSD_BINHEX:
1390case BinXmlToken.XSD_BASE64:
1391case BinXmlToken.XSD_BOOLEAN:
1392case BinXmlToken.XSD_TIME:
1393case BinXmlToken.XSD_DATETIME:
1394case BinXmlToken.XSD_DATE:
1395case BinXmlToken.XSD_BYTE:
1396case BinXmlToken.XSD_UNSIGNEDSHORT:
1397case BinXmlToken.XSD_UNSIGNEDINT:
1398case BinXmlToken.XSD_UNSIGNEDLONG:
1399case BinXmlToken.XSD_QNAME:
1402case BinXmlToken.SQL_CHAR:
1403case BinXmlToken.SQL_VARCHAR:
1404case BinXmlToken.SQL_TEXT:
1405case BinXmlToken.SQL_NCHAR:
1406case BinXmlToken.SQL_NVARCHAR:
1407case BinXmlToken.SQL_NTEXT:
1410case BinXmlToken.Element:
1411case BinXmlToken.EndElem:
1456case BinXmlToken.SQL_BIT:
1457case BinXmlToken.SQL_TINYINT:
1458case BinXmlToken.SQL_SMALLINT:
1459case BinXmlToken.SQL_INT:
1460case BinXmlToken.SQL_BIGINT:
1461case BinXmlToken.SQL_MONEY:
1462case BinXmlToken.SQL_SMALLMONEY:
1463case BinXmlToken.SQL_DECIMAL:
1464case BinXmlToken.SQL_NUMERIC:
1465case BinXmlToken.XSD_DECIMAL:
1466case BinXmlToken.XSD_BYTE:
1467case BinXmlToken.XSD_UNSIGNEDSHORT:
1468case BinXmlToken.XSD_UNSIGNEDINT:
1469case BinXmlToken.XSD_UNSIGNEDLONG:
1473case BinXmlToken.SQL_REAL:
1474case BinXmlToken.SQL_FLOAT:
1475case BinXmlToken.SQL_DATETIME:
1476case BinXmlToken.SQL_SMALLDATETIME:
1477case BinXmlToken.SQL_UUID:
1478case BinXmlToken.SQL_VARBINARY:
1479case BinXmlToken.SQL_BINARY:
1480case BinXmlToken.SQL_IMAGE:
1481case BinXmlToken.SQL_UDT:
1482case BinXmlToken.XSD_KATMAI_DATE:
1483case BinXmlToken.XSD_KATMAI_DATETIME:
1484case BinXmlToken.XSD_KATMAI_TIME:
1485case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1486case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1487case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1488case BinXmlToken.XSD_BINHEX:
1489case BinXmlToken.XSD_BASE64:
1490case BinXmlToken.XSD_BOOLEAN:
1491case BinXmlToken.XSD_TIME:
1492case BinXmlToken.XSD_DATETIME:
1493case BinXmlToken.XSD_DATE:
1494case BinXmlToken.XSD_QNAME:
1497case BinXmlToken.SQL_CHAR:
1498case BinXmlToken.SQL_VARCHAR:
1499case BinXmlToken.SQL_TEXT:
1500case BinXmlToken.SQL_NCHAR:
1501case BinXmlToken.SQL_NVARCHAR:
1502case BinXmlToken.SQL_NTEXT:
1505case BinXmlToken.Element:
1506case BinXmlToken.EndElem:
1551case BinXmlToken.SQL_BIT:
1552case BinXmlToken.SQL_TINYINT:
1553case BinXmlToken.SQL_SMALLINT:
1554case BinXmlToken.SQL_INT:
1555case BinXmlToken.SQL_BIGINT:
1556case BinXmlToken.SQL_MONEY:
1557case BinXmlToken.SQL_SMALLMONEY:
1558case BinXmlToken.SQL_DECIMAL:
1559case BinXmlToken.SQL_NUMERIC:
1560case BinXmlToken.XSD_DECIMAL:
1561case BinXmlToken.XSD_BYTE:
1562case BinXmlToken.XSD_UNSIGNEDSHORT:
1563case BinXmlToken.XSD_UNSIGNEDINT:
1564case BinXmlToken.XSD_UNSIGNEDLONG:
1568case BinXmlToken.SQL_REAL:
1569case BinXmlToken.SQL_FLOAT:
1570case BinXmlToken.SQL_DATETIME:
1571case BinXmlToken.SQL_SMALLDATETIME:
1572case BinXmlToken.SQL_UUID:
1573case BinXmlToken.SQL_VARBINARY:
1574case BinXmlToken.SQL_BINARY:
1575case BinXmlToken.SQL_IMAGE:
1576case BinXmlToken.SQL_UDT:
1577case BinXmlToken.XSD_KATMAI_DATE:
1578case BinXmlToken.XSD_KATMAI_DATETIME:
1579case BinXmlToken.XSD_KATMAI_TIME:
1580case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1581case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1582case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1583case BinXmlToken.XSD_BINHEX:
1584case BinXmlToken.XSD_BASE64:
1585case BinXmlToken.XSD_BOOLEAN:
1586case BinXmlToken.XSD_TIME:
1587case BinXmlToken.XSD_DATETIME:
1588case BinXmlToken.XSD_DATE:
1589case BinXmlToken.XSD_QNAME:
1592case BinXmlToken.SQL_CHAR:
1593case BinXmlToken.SQL_VARCHAR:
1594case BinXmlToken.SQL_TEXT:
1595case BinXmlToken.SQL_NCHAR:
1596case BinXmlToken.SQL_NVARCHAR:
1597case BinXmlToken.SQL_NTEXT:
1600case BinXmlToken.Element:
1601case BinXmlToken.EndElem:
1646case BinXmlToken.SQL_BIT:
1647case BinXmlToken.SQL_TINYINT:
1648case BinXmlToken.SQL_SMALLINT:
1649case BinXmlToken.SQL_INT:
1650case BinXmlToken.SQL_BIGINT:
1651case BinXmlToken.SQL_MONEY:
1652case BinXmlToken.SQL_SMALLMONEY:
1653case BinXmlToken.SQL_DECIMAL:
1654case BinXmlToken.SQL_NUMERIC:
1655case BinXmlToken.XSD_DECIMAL:
1656case BinXmlToken.XSD_BYTE:
1657case BinXmlToken.XSD_UNSIGNEDSHORT:
1658case BinXmlToken.XSD_UNSIGNEDINT:
1659case BinXmlToken.XSD_UNSIGNEDLONG:
1663case BinXmlToken.SQL_REAL:
1664case BinXmlToken.SQL_FLOAT:
1665case BinXmlToken.SQL_DATETIME:
1666case BinXmlToken.SQL_SMALLDATETIME:
1667case BinXmlToken.SQL_UUID:
1668case BinXmlToken.SQL_VARBINARY:
1669case BinXmlToken.SQL_BINARY:
1670case BinXmlToken.SQL_IMAGE:
1671case BinXmlToken.SQL_UDT:
1672case BinXmlToken.XSD_KATMAI_DATE:
1673case BinXmlToken.XSD_KATMAI_DATETIME:
1674case BinXmlToken.XSD_KATMAI_TIME:
1675case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1676case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1677case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1678case BinXmlToken.XSD_BINHEX:
1679case BinXmlToken.XSD_BASE64:
1680case BinXmlToken.XSD_BOOLEAN:
1681case BinXmlToken.XSD_TIME:
1682case BinXmlToken.XSD_DATETIME:
1683case BinXmlToken.XSD_DATE:
1684case BinXmlToken.XSD_QNAME:
1687case BinXmlToken.SQL_CHAR:
1688case BinXmlToken.SQL_VARCHAR:
1689case BinXmlToken.SQL_TEXT:
1690case BinXmlToken.SQL_NCHAR:
1691case BinXmlToken.SQL_NVARCHAR:
1692case BinXmlToken.SQL_NTEXT:
1695case BinXmlToken.Element:
1696case BinXmlToken.EndElem:
1890private void VerifyVersion(int requiredVersion, BinXmlToken token)
2180private BinXmlToken PeekToken()
2185return BinXmlToken.EOF;
2186return (BinXmlToken)_data[_pos];
2189private BinXmlToken ReadToken()
2194return BinXmlToken.EOF;
2195return (BinXmlToken)_data[_pos++];
2198private BinXmlToken NextToken2(BinXmlToken token)
2204case BinXmlToken.Name:
2207case BinXmlToken.QName:
2210case BinXmlToken.NmFlush:
2213case BinXmlToken.Extn:
2223private BinXmlToken NextToken1()
2225BinXmlToken token;
2231token = (BinXmlToken)_data[pos];
2238if (token >= BinXmlToken.NmFlush
2239&& token <= BinXmlToken.Name)
2244private BinXmlToken NextToken()
2249BinXmlToken t = (BinXmlToken)_data[pos];
2250if (!(t >= BinXmlToken.NmFlush && t <= BinXmlToken.Name))
2260private BinXmlToken PeekNextToken()
2262BinXmlToken token = NextToken();
2263if (BinXmlToken.EOF != token)
2269private BinXmlToken RescanNextToken()
2271BinXmlToken token;
2277case BinXmlToken.Name:
2283case BinXmlToken.QName:
2288case BinXmlToken.Extn:
2294case BinXmlToken.NmFlush:
2372BinXmlToken token = RescanNextToken();
2373if (BinXmlToken.Attr == token || BinXmlToken.EndAttrs == token)
2422_token = BinXmlToken.Attr;
2560if (BinXmlToken.XmlDecl == PeekToken())
2565if (BinXmlToken.Encoding == PeekToken())
2605BinXmlToken token;
2613while (BinXmlToken.EndAttrs != (token = NextToken()))
2615if (BinXmlToken.Attr == token)
2773Debug.Assert(_token == BinXmlToken.CData, "this.token == BinXmlToken.CData");
2776while (PeekToken() == BinXmlToken.CData)
2798case BinXmlToken.CData:
2805case BinXmlToken.EndCData:
2857case BinXmlToken.EOF:
2863case BinXmlToken.Element:
2867case BinXmlToken.EndElem:
2871case BinXmlToken.DocType:
2880case BinXmlToken.PI:
2886case BinXmlToken.Comment:
2892case BinXmlToken.CData:
2896case BinXmlToken.Nest:
2902case BinXmlToken.EndNest:
2908case BinXmlToken.XmlText:
2913case BinXmlToken.SQL_BIT:
2914case BinXmlToken.SQL_TINYINT:
2915case BinXmlToken.SQL_SMALLINT:
2916case BinXmlToken.SQL_INT:
2917case BinXmlToken.SQL_BIGINT:
2918case BinXmlToken.SQL_REAL:
2919case BinXmlToken.SQL_FLOAT:
2920case BinXmlToken.SQL_MONEY:
2921case BinXmlToken.SQL_SMALLMONEY:
2922case BinXmlToken.SQL_DATETIME:
2923case BinXmlToken.SQL_SMALLDATETIME:
2924case BinXmlToken.SQL_DECIMAL:
2925case BinXmlToken.SQL_NUMERIC:
2926case BinXmlToken.XSD_DECIMAL:
2927case BinXmlToken.SQL_UUID:
2928case BinXmlToken.SQL_VARBINARY:
2929case BinXmlToken.SQL_BINARY:
2930case BinXmlToken.SQL_IMAGE:
2931case BinXmlToken.SQL_UDT:
2932case BinXmlToken.XSD_KATMAI_DATE:
2933case BinXmlToken.XSD_KATMAI_DATETIME:
2934case BinXmlToken.XSD_KATMAI_TIME:
2935case BinXmlToken.XSD_KATMAI_DATEOFFSET:
2936case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
2937case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
2938case BinXmlToken.XSD_BINHEX:
2939case BinXmlToken.XSD_BASE64:
2940case BinXmlToken.SQL_CHAR:
2941case BinXmlToken.SQL_VARCHAR:
2942case BinXmlToken.SQL_TEXT:
2943case BinXmlToken.SQL_NCHAR:
2944case BinXmlToken.SQL_NVARCHAR:
2945case BinXmlToken.SQL_NTEXT:
2946case BinXmlToken.XSD_BOOLEAN:
2947case BinXmlToken.XSD_TIME:
2948case BinXmlToken.XSD_DATETIME:
2949case BinXmlToken.XSD_DATE:
2950case BinXmlToken.XSD_BYTE:
2951case BinXmlToken.XSD_UNSIGNEDSHORT:
2952case BinXmlToken.XSD_UNSIGNEDINT:
2953case BinXmlToken.XSD_UNSIGNEDLONG:
2954case BinXmlToken.XSD_QNAME:
2969private void ImplReadData(BinXmlToken tokenType)
2976case BinXmlToken.SQL_CHAR:
2977case BinXmlToken.SQL_VARCHAR:
2978case BinXmlToken.SQL_TEXT:
2979case BinXmlToken.SQL_NCHAR:
2980case BinXmlToken.SQL_NVARCHAR:
2981case BinXmlToken.SQL_NTEXT:
2994BinXmlToken tNext = PeekNextToken();
2997case BinXmlToken.SQL_BIT:
2998case BinXmlToken.SQL_TINYINT:
2999case BinXmlToken.SQL_SMALLINT:
3000case BinXmlToken.SQL_INT:
3001case BinXmlToken.SQL_BIGINT:
3002case BinXmlToken.SQL_REAL:
3003case BinXmlToken.SQL_FLOAT:
3004case BinXmlToken.SQL_MONEY:
3005case BinXmlToken.SQL_SMALLMONEY:
3006case BinXmlToken.SQL_DATETIME:
3007case BinXmlToken.SQL_SMALLDATETIME:
3008case BinXmlToken.SQL_DECIMAL:
3009case BinXmlToken.SQL_NUMERIC:
3010case BinXmlToken.XSD_DECIMAL:
3011case BinXmlToken.SQL_UUID:
3012case BinXmlToken.SQL_VARBINARY:
3013case BinXmlToken.SQL_BINARY:
3014case BinXmlToken.SQL_IMAGE:
3015case BinXmlToken.SQL_UDT:
3016case BinXmlToken.XSD_KATMAI_DATE:
3017case BinXmlToken.XSD_KATMAI_DATETIME:
3018case BinXmlToken.XSD_KATMAI_TIME:
3019case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3020case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3021case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3022case BinXmlToken.XSD_BINHEX:
3023case BinXmlToken.XSD_BASE64:
3024case BinXmlToken.SQL_CHAR:
3025case BinXmlToken.SQL_VARCHAR:
3026case BinXmlToken.SQL_TEXT:
3027case BinXmlToken.SQL_NCHAR:
3028case BinXmlToken.SQL_NVARCHAR:
3029case BinXmlToken.SQL_NTEXT:
3030case BinXmlToken.XSD_BOOLEAN:
3031case BinXmlToken.XSD_TIME:
3032case BinXmlToken.XSD_DATETIME:
3033case BinXmlToken.XSD_DATE:
3034case BinXmlToken.XSD_BYTE:
3035case BinXmlToken.XSD_UNSIGNEDSHORT:
3036case BinXmlToken.XSD_UNSIGNEDINT:
3037case BinXmlToken.XSD_UNSIGNEDLONG:
3038case BinXmlToken.XSD_QNAME:
3071BinXmlToken t = PeekNextToken();
3072if (BinXmlToken.Attr == t)
3078if (BinXmlToken.EndElem == t)
3083else if (BinXmlToken.SQL_NVARCHAR == t)
3094if (BinXmlToken.EndElem != (BinXmlToken)ReadByte())
3145if (BinXmlToken.System == PeekToken())
3150if (BinXmlToken.Public == PeekToken())
3155if (BinXmlToken.Subset == PeekToken())
3288map[(int)BinXmlToken.XSD_BOOLEAN] = typeof(System.Boolean);
3289map[(int)BinXmlToken.SQL_TINYINT] = typeof(System.Byte);
3290map[(int)BinXmlToken.XSD_BYTE] = typeof(System.SByte);
3291map[(int)BinXmlToken.SQL_SMALLINT] = typeof(Int16);
3292map[(int)BinXmlToken.XSD_UNSIGNEDSHORT] = typeof(UInt16);
3293map[(int)BinXmlToken.XSD_UNSIGNEDINT] = typeof(UInt32);
3294map[(int)BinXmlToken.SQL_REAL] = typeof(Single);
3295map[(int)BinXmlToken.SQL_FLOAT] = typeof(Double);
3296map[(int)BinXmlToken.SQL_BIGINT] = typeof(Int64);
3297map[(int)BinXmlToken.XSD_UNSIGNEDLONG] = typeof(UInt64);
3298map[(int)BinXmlToken.XSD_QNAME] = typeof(XmlQualifiedName);
3300map[(int)BinXmlToken.SQL_BIT] = TypeOfInt32;
3301map[(int)BinXmlToken.SQL_INT] = TypeOfInt32;
3303map[(int)BinXmlToken.SQL_SMALLMONEY] = TypeOfDecimal;
3304map[(int)BinXmlToken.SQL_MONEY] = TypeOfDecimal;
3305map[(int)BinXmlToken.SQL_DECIMAL] = TypeOfDecimal;
3306map[(int)BinXmlToken.SQL_NUMERIC] = TypeOfDecimal;
3307map[(int)BinXmlToken.XSD_DECIMAL] = TypeOfDecimal;
3309map[(int)BinXmlToken.SQL_SMALLDATETIME] = TypeOfDateTime;
3310map[(int)BinXmlToken.SQL_DATETIME] = TypeOfDateTime;
3311map[(int)BinXmlToken.XSD_TIME] = TypeOfDateTime;
3312map[(int)BinXmlToken.XSD_DATETIME] = TypeOfDateTime;
3313map[(int)BinXmlToken.XSD_DATE] = TypeOfDateTime;
3314map[(int)BinXmlToken.XSD_KATMAI_DATE] = TypeOfDateTime;
3315map[(int)BinXmlToken.XSD_KATMAI_DATETIME] = TypeOfDateTime;
3316map[(int)BinXmlToken.XSD_KATMAI_TIME] = TypeOfDateTime;
3318map[(int)BinXmlToken.XSD_KATMAI_DATEOFFSET] = TypeOfDateTimeOffset;
3319map[(int)BinXmlToken.XSD_KATMAI_DATETIMEOFFSET] = TypeOfDateTimeOffset;
3320map[(int)BinXmlToken.XSD_KATMAI_TIMEOFFSET] = TypeOfDateTimeOffset;
3322map[(int)BinXmlToken.SQL_VARBINARY] = TypeOfByteArray;
3323map[(int)BinXmlToken.SQL_BINARY] = TypeOfByteArray;
3324map[(int)BinXmlToken.SQL_IMAGE] = TypeOfByteArray;
3325map[(int)BinXmlToken.SQL_UDT] = TypeOfByteArray;
3326map[(int)BinXmlToken.XSD_BINHEX] = TypeOfByteArray;
3327map[(int)BinXmlToken.XSD_BASE64] = TypeOfByteArray;
3328map[(int)BinXmlToken.SQL_CHAR] = TypeOfString;
3329map[(int)BinXmlToken.SQL_VARCHAR] = TypeOfString;
3330map[(int)BinXmlToken.SQL_TEXT] = TypeOfString;
3331map[(int)BinXmlToken.SQL_NCHAR] = TypeOfString;
3332map[(int)BinXmlToken.SQL_NVARCHAR] = TypeOfString;
3333map[(int)BinXmlToken.SQL_NTEXT] = TypeOfString;
3334map[(int)BinXmlToken.SQL_UUID] = TypeOfString;
3339private System.Type GetValueType(BinXmlToken token)
3348private void ReScanOverValue(BinXmlToken token)
3353private XmlNodeType ScanOverValue(BinXmlToken token, bool attr, bool checkChars)
3355if (token == BinXmlToken.SQL_NVARCHAR)
3385private XmlNodeType ScanOverAnyValue(BinXmlToken token, bool attr, bool checkChars)
3393case BinXmlToken.SQL_BIT:
3394case BinXmlToken.SQL_TINYINT:
3395case BinXmlToken.XSD_BOOLEAN:
3396case BinXmlToken.XSD_BYTE:
3402case BinXmlToken.SQL_SMALLINT:
3403case BinXmlToken.XSD_UNSIGNEDSHORT:
3409case BinXmlToken.SQL_INT:
3410case BinXmlToken.XSD_UNSIGNEDINT:
3411case BinXmlToken.SQL_REAL:
3412case BinXmlToken.SQL_SMALLMONEY:
3413case BinXmlToken.SQL_SMALLDATETIME:
3419case BinXmlToken.SQL_BIGINT:
3420case BinXmlToken.XSD_UNSIGNEDLONG:
3421case BinXmlToken.SQL_FLOAT:
3422case BinXmlToken.SQL_MONEY:
3423case BinXmlToken.SQL_DATETIME:
3424case BinXmlToken.XSD_TIME:
3425case BinXmlToken.XSD_DATETIME:
3426case BinXmlToken.XSD_DATE:
3432case BinXmlToken.SQL_UUID:
3438case BinXmlToken.SQL_DECIMAL:
3439case BinXmlToken.SQL_NUMERIC:
3440case BinXmlToken.XSD_DECIMAL:
3446case BinXmlToken.SQL_VARBINARY:
3447case BinXmlToken.SQL_BINARY:
3448case BinXmlToken.SQL_IMAGE:
3449case BinXmlToken.SQL_UDT:
3450case BinXmlToken.XSD_BINHEX:
3451case BinXmlToken.XSD_BASE64:
3457case BinXmlToken.SQL_CHAR:
3458case BinXmlToken.SQL_VARCHAR:
3459case BinXmlToken.SQL_TEXT:
3473case BinXmlToken.SQL_NVARCHAR:
3474case BinXmlToken.SQL_NCHAR:
3475case BinXmlToken.SQL_NTEXT:
3476return ScanOverValue(BinXmlToken.SQL_NVARCHAR, attr, checkChars);
3478case BinXmlToken.XSD_QNAME:
3483case BinXmlToken.XSD_KATMAI_DATE:
3484case BinXmlToken.XSD_KATMAI_DATETIME:
3485case BinXmlToken.XSD_KATMAI_TIME:
3486case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3487case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3488case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3599private int GetXsdKatmaiTokenLength(BinXmlToken token)
3604case BinXmlToken.XSD_KATMAI_DATE:
3607case BinXmlToken.XSD_KATMAI_TIME:
3608case BinXmlToken.XSD_KATMAI_DATETIME:
3613case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3614case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3615case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3639case BinXmlToken.SQL_BIT:
3640case BinXmlToken.SQL_TINYINT:
3646case BinXmlToken.XSD_BYTE:
3652case BinXmlToken.SQL_SMALLINT:
3655case BinXmlToken.SQL_INT:
3658case BinXmlToken.SQL_BIGINT:
3661case BinXmlToken.XSD_UNSIGNEDSHORT:
3664case BinXmlToken.XSD_UNSIGNEDINT:
3667case BinXmlToken.XSD_UNSIGNEDLONG:
3673case BinXmlToken.SQL_REAL:
3674case BinXmlToken.SQL_FLOAT:
3680case BinXmlToken.SQL_MONEY:
3681case BinXmlToken.SQL_SMALLMONEY:
3682case BinXmlToken.SQL_DECIMAL:
3683case BinXmlToken.SQL_NUMERIC:
3684case BinXmlToken.XSD_DECIMAL:
3697if (BinXmlToken.XSD_UNSIGNEDLONG == _token)
3713case BinXmlToken.SQL_BIT:
3714case BinXmlToken.SQL_TINYINT:
3715case BinXmlToken.SQL_SMALLINT:
3716case BinXmlToken.SQL_INT:
3717case BinXmlToken.SQL_BIGINT:
3718case BinXmlToken.XSD_BYTE:
3719case BinXmlToken.XSD_UNSIGNEDSHORT:
3720case BinXmlToken.XSD_UNSIGNEDINT:
3723case BinXmlToken.XSD_UNSIGNEDLONG:
3726case BinXmlToken.SQL_REAL:
3729case BinXmlToken.SQL_FLOAT:
3732case BinXmlToken.SQL_SMALLMONEY:
3737case BinXmlToken.SQL_MONEY:
3743case BinXmlToken.XSD_DECIMAL:
3744case BinXmlToken.SQL_DECIMAL:
3745case BinXmlToken.SQL_NUMERIC:
3747BinXmlSqlDecimal v = new BinXmlSqlDecimal(_data, _tokDataPos, _token == BinXmlToken.XSD_DECIMAL);
3761case BinXmlToken.SQL_BIT:
3762case BinXmlToken.SQL_TINYINT:
3763case BinXmlToken.SQL_SMALLINT:
3764case BinXmlToken.SQL_INT:
3765case BinXmlToken.SQL_BIGINT:
3766case BinXmlToken.XSD_BYTE:
3767case BinXmlToken.XSD_UNSIGNEDSHORT:
3768case BinXmlToken.XSD_UNSIGNEDINT:
3771case BinXmlToken.XSD_UNSIGNEDLONG:
3774case BinXmlToken.SQL_REAL:
3777case BinXmlToken.SQL_FLOAT:
3780case BinXmlToken.SQL_SMALLMONEY:
3781case BinXmlToken.SQL_MONEY:
3782case BinXmlToken.XSD_DECIMAL:
3783case BinXmlToken.SQL_DECIMAL:
3784case BinXmlToken.SQL_NUMERIC:
3797case BinXmlToken.SQL_DATETIME:
3806case BinXmlToken.SQL_SMALLDATETIME:
3815case BinXmlToken.XSD_TIME:
3821case BinXmlToken.XSD_DATE:
3827case BinXmlToken.XSD_DATETIME:
3833case BinXmlToken.XSD_KATMAI_DATE:
3836case BinXmlToken.XSD_KATMAI_DATETIME:
3839case BinXmlToken.XSD_KATMAI_TIME:
3842case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3845case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3848case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3861case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3864case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3867case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3881case BinXmlToken.SQL_DATETIME:
3890case BinXmlToken.SQL_SMALLDATETIME:
3899case BinXmlToken.XSD_TIME:
3905case BinXmlToken.XSD_DATE:
3911case BinXmlToken.XSD_DATETIME:
3917case BinXmlToken.XSD_KATMAI_DATE:
3920case BinXmlToken.XSD_KATMAI_DATETIME:
3923case BinXmlToken.XSD_KATMAI_TIME:
3926case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3929case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3932case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3940private string ValueAsString(BinXmlToken token)
3947case BinXmlToken.SQL_NCHAR:
3948case BinXmlToken.SQL_NVARCHAR:
3949case BinXmlToken.SQL_NTEXT:
3952case BinXmlToken.XSD_BOOLEAN:
3960case BinXmlToken.SQL_BIT:
3961case BinXmlToken.SQL_TINYINT:
3962case BinXmlToken.SQL_SMALLINT:
3963case BinXmlToken.SQL_INT:
3964case BinXmlToken.SQL_BIGINT:
3965case BinXmlToken.XSD_BYTE:
3966case BinXmlToken.XSD_UNSIGNEDSHORT:
3967case BinXmlToken.XSD_UNSIGNEDINT:
3970case BinXmlToken.XSD_UNSIGNEDLONG:
3973case BinXmlToken.SQL_REAL:
3976case BinXmlToken.SQL_FLOAT:
3979case BinXmlToken.SQL_UUID:
3990case BinXmlToken.SQL_SMALLMONEY:
3995case BinXmlToken.SQL_MONEY:
4001case BinXmlToken.XSD_DECIMAL:
4002case BinXmlToken.SQL_DECIMAL:
4003case BinXmlToken.SQL_NUMERIC:
4005BinXmlSqlDecimal v = new BinXmlSqlDecimal(_data, _tokDataPos, token == BinXmlToken.XSD_DECIMAL);
4009case BinXmlToken.SQL_CHAR:
4010case BinXmlToken.SQL_VARCHAR:
4011case BinXmlToken.SQL_TEXT:
4019case BinXmlToken.SQL_VARBINARY:
4020case BinXmlToken.SQL_BINARY:
4021case BinXmlToken.SQL_IMAGE:
4022case BinXmlToken.SQL_UDT:
4023case BinXmlToken.XSD_BASE64:
4028case BinXmlToken.XSD_BINHEX:
4031case BinXmlToken.SQL_DATETIME:
4032case BinXmlToken.SQL_SMALLDATETIME:
4033case BinXmlToken.XSD_TIME:
4034case BinXmlToken.XSD_DATE:
4035case BinXmlToken.XSD_DATETIME:
4036case BinXmlToken.XSD_KATMAI_DATE:
4037case BinXmlToken.XSD_KATMAI_DATETIME:
4038case BinXmlToken.XSD_KATMAI_TIME:
4039case BinXmlToken.XSD_KATMAI_DATEOFFSET:
4040case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
4041case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
4044case BinXmlToken.XSD_QNAME:
4067private object ValueAsObject(BinXmlToken token, bool returnInternalTypes)
4072case BinXmlToken.SQL_NCHAR:
4073case BinXmlToken.SQL_NVARCHAR:
4074case BinXmlToken.SQL_NTEXT:
4077case BinXmlToken.XSD_BOOLEAN:
4080case BinXmlToken.SQL_BIT:
4083case BinXmlToken.SQL_TINYINT:
4086case BinXmlToken.SQL_SMALLINT:
4089case BinXmlToken.SQL_INT:
4092case BinXmlToken.SQL_BIGINT:
4095case BinXmlToken.XSD_BYTE:
4101case BinXmlToken.XSD_UNSIGNEDSHORT:
4104case BinXmlToken.XSD_UNSIGNEDINT:
4107case BinXmlToken.XSD_UNSIGNEDLONG:
4110case BinXmlToken.SQL_REAL:
4113case BinXmlToken.SQL_FLOAT:
4116case BinXmlToken.SQL_UUID:
4127case BinXmlToken.SQL_SMALLMONEY:
4136case BinXmlToken.SQL_MONEY:
4145case BinXmlToken.XSD_DECIMAL:
4146case BinXmlToken.SQL_DECIMAL:
4147case BinXmlToken.SQL_NUMERIC:
4149BinXmlSqlDecimal v = new BinXmlSqlDecimal(_data, _tokDataPos, token == BinXmlToken.XSD_DECIMAL);
4156case BinXmlToken.SQL_CHAR:
4157case BinXmlToken.SQL_VARCHAR:
4158case BinXmlToken.SQL_TEXT:
4166case BinXmlToken.SQL_VARBINARY:
4167case BinXmlToken.SQL_BINARY:
4168case BinXmlToken.SQL_IMAGE:
4169case BinXmlToken.SQL_UDT:
4170case BinXmlToken.XSD_BASE64:
4171case BinXmlToken.XSD_BINHEX:
4178case BinXmlToken.SQL_DATETIME:
4179case BinXmlToken.SQL_SMALLDATETIME:
4180case BinXmlToken.XSD_TIME:
4181case BinXmlToken.XSD_DATE:
4182case BinXmlToken.XSD_DATETIME:
4183case BinXmlToken.XSD_KATMAI_DATE:
4184case BinXmlToken.XSD_KATMAI_DATETIME:
4185case BinXmlToken.XSD_KATMAI_TIME:
4188case BinXmlToken.XSD_KATMAI_DATEOFFSET:
4189case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
4190case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
4193case BinXmlToken.XSD_QNAME:
4213private object ValueAs(BinXmlToken token, Type returnType, IXmlNamespaceResolver namespaceResolver)
4219case BinXmlToken.SQL_NCHAR:
4220case BinXmlToken.SQL_NVARCHAR:
4221case BinXmlToken.SQL_NTEXT:
4227case BinXmlToken.XSD_BOOLEAN:
4233case BinXmlToken.SQL_BIT:
4239case BinXmlToken.SQL_TINYINT:
4245case BinXmlToken.SQL_SMALLINT:
4252case BinXmlToken.SQL_INT:
4259case BinXmlToken.SQL_BIGINT:
4266case BinXmlToken.XSD_BYTE:
4273case BinXmlToken.XSD_UNSIGNEDSHORT:
4280case BinXmlToken.XSD_UNSIGNEDINT:
4287case BinXmlToken.XSD_UNSIGNEDLONG:
4294case BinXmlToken.SQL_REAL:
4301case BinXmlToken.SQL_FLOAT:
4308case BinXmlToken.SQL_UUID:
4313case BinXmlToken.SQL_SMALLMONEY:
4319case BinXmlToken.SQL_MONEY:
4325case BinXmlToken.XSD_DECIMAL:
4326case BinXmlToken.SQL_DECIMAL:
4327case BinXmlToken.SQL_NUMERIC:
4329(new BinXmlSqlDecimal(_data, _tokDataPos, token == BinXmlToken.XSD_DECIMAL)).ToDecimal(),
4333case BinXmlToken.SQL_CHAR:
4334case BinXmlToken.SQL_VARCHAR:
4335case BinXmlToken.SQL_TEXT:
4346case BinXmlToken.SQL_VARBINARY:
4347case BinXmlToken.SQL_BINARY:
4348case BinXmlToken.SQL_IMAGE:
4349case BinXmlToken.SQL_UDT:
4350case BinXmlToken.XSD_BASE64:
4351case BinXmlToken.XSD_BINHEX:
4355value = GetValueConverter(token == BinXmlToken.XSD_BINHEX ? XmlTypeCode.HexBinary : XmlTypeCode.Base64Binary).ChangeType(
4360case BinXmlToken.SQL_DATETIME:
4361case BinXmlToken.SQL_SMALLDATETIME:
4362case BinXmlToken.XSD_DATETIME:
4363case BinXmlToken.XSD_KATMAI_DATE:
4364case BinXmlToken.XSD_KATMAI_DATETIME:
4365case BinXmlToken.XSD_KATMAI_TIME:
4371case BinXmlToken.XSD_KATMAI_DATEOFFSET:
4372case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
4373case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
4379case BinXmlToken.XSD_TIME:
4385case BinXmlToken.XSD_DATE:
4391case BinXmlToken.XSD_QNAME:
4479private Exception ThrowUnexpectedToken(BinXmlToken token)