System\Xml\BinaryXml\XmlBinaryReader.cs (783)
265BinXmlToken token;
331this.token = BinXmlToken.Error;
716this.token = BinXmlToken.Element;
718this.token = BinXmlToken.XmlDecl;
720this.token = BinXmlToken.DocType;
749BinXmlToken tok = RescanNextToken();
750if (BinXmlToken.Attr == tok || BinXmlToken.EndAttrs == tok) {
759this.token = BinXmlToken.Error;
781this.token = BinXmlToken.Error;
889BinXmlToken token = RescanNextToken();
890if (BinXmlToken.Attr == token || BinXmlToken.EndAttrs == token)
936case BinXmlToken.XSD_BOOLEAN:
940case BinXmlToken.SQL_BIT:
941case BinXmlToken.SQL_TINYINT:
942case BinXmlToken.SQL_SMALLINT:
943case BinXmlToken.SQL_INT:
944case BinXmlToken.SQL_BIGINT:
945case BinXmlToken.SQL_REAL:
946case BinXmlToken.SQL_FLOAT:
947case BinXmlToken.SQL_MONEY:
948case BinXmlToken.SQL_SMALLMONEY:
949case BinXmlToken.SQL_DATETIME:
950case BinXmlToken.SQL_SMALLDATETIME:
951case BinXmlToken.SQL_DECIMAL:
952case BinXmlToken.SQL_NUMERIC:
953case BinXmlToken.XSD_DECIMAL:
954case BinXmlToken.SQL_UUID:
955case BinXmlToken.SQL_VARBINARY:
956case BinXmlToken.SQL_BINARY:
957case BinXmlToken.SQL_IMAGE:
958case BinXmlToken.SQL_UDT:
959case BinXmlToken.XSD_KATMAI_DATE:
960case BinXmlToken.XSD_KATMAI_DATETIME:
961case BinXmlToken.XSD_KATMAI_TIME:
962case BinXmlToken.XSD_KATMAI_DATEOFFSET:
963case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
964case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
965case BinXmlToken.XSD_BINHEX:
966case BinXmlToken.XSD_BASE64:
967case BinXmlToken.XSD_TIME:
968case BinXmlToken.XSD_DATETIME:
969case BinXmlToken.XSD_DATE:
970case BinXmlToken.XSD_BYTE:
971case BinXmlToken.XSD_UNSIGNEDSHORT:
972case BinXmlToken.XSD_UNSIGNEDINT:
973case BinXmlToken.XSD_UNSIGNEDLONG:
974case BinXmlToken.XSD_QNAME:
977case BinXmlToken.SQL_CHAR:
978case BinXmlToken.SQL_VARCHAR:
979case BinXmlToken.SQL_TEXT:
980case BinXmlToken.SQL_NCHAR:
981case BinXmlToken.SQL_NVARCHAR:
982case BinXmlToken.SQL_NTEXT:
985case BinXmlToken.Element:
986case BinXmlToken.EndElem:
1018case BinXmlToken.SQL_DATETIME:
1019case BinXmlToken.SQL_SMALLDATETIME:
1020case BinXmlToken.XSD_TIME:
1021case BinXmlToken.XSD_DATETIME:
1022case BinXmlToken.XSD_DATE:
1023case BinXmlToken.XSD_KATMAI_DATE:
1024case BinXmlToken.XSD_KATMAI_DATETIME:
1025case BinXmlToken.XSD_KATMAI_TIME:
1026case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1027case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1028case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1032case BinXmlToken.SQL_BIT:
1033case BinXmlToken.SQL_TINYINT:
1034case BinXmlToken.SQL_SMALLINT:
1035case BinXmlToken.SQL_INT:
1036case BinXmlToken.SQL_BIGINT:
1037case BinXmlToken.SQL_REAL:
1038case BinXmlToken.SQL_FLOAT:
1039case BinXmlToken.SQL_MONEY:
1040case BinXmlToken.SQL_SMALLMONEY:
1041case BinXmlToken.SQL_DECIMAL:
1042case BinXmlToken.SQL_NUMERIC:
1043case BinXmlToken.XSD_DECIMAL:
1044case BinXmlToken.SQL_UUID:
1045case BinXmlToken.SQL_VARBINARY:
1046case BinXmlToken.SQL_BINARY:
1047case BinXmlToken.SQL_IMAGE:
1048case BinXmlToken.SQL_UDT:
1049case BinXmlToken.XSD_BINHEX:
1050case BinXmlToken.XSD_BASE64:
1051case BinXmlToken.XSD_BOOLEAN:
1052case BinXmlToken.XSD_BYTE:
1053case BinXmlToken.XSD_UNSIGNEDSHORT:
1054case BinXmlToken.XSD_UNSIGNEDINT:
1055case BinXmlToken.XSD_UNSIGNEDLONG:
1056case BinXmlToken.XSD_QNAME:
1059case BinXmlToken.SQL_CHAR:
1060case BinXmlToken.SQL_VARCHAR:
1061case BinXmlToken.SQL_TEXT:
1062case BinXmlToken.SQL_NCHAR:
1063case BinXmlToken.SQL_NVARCHAR:
1064case BinXmlToken.SQL_NTEXT:
1067case BinXmlToken.Element:
1068case BinXmlToken.EndElem:
1104case BinXmlToken.SQL_REAL:
1105case BinXmlToken.SQL_FLOAT:
1109case BinXmlToken.SQL_BIT:
1110case BinXmlToken.SQL_TINYINT:
1111case BinXmlToken.SQL_SMALLINT:
1112case BinXmlToken.SQL_INT:
1113case BinXmlToken.SQL_BIGINT:
1114case BinXmlToken.SQL_MONEY:
1115case BinXmlToken.SQL_SMALLMONEY:
1116case BinXmlToken.SQL_DATETIME:
1117case BinXmlToken.SQL_SMALLDATETIME:
1118case BinXmlToken.SQL_DECIMAL:
1119case BinXmlToken.SQL_NUMERIC:
1120case BinXmlToken.XSD_DECIMAL:
1121case BinXmlToken.SQL_UUID:
1122case BinXmlToken.SQL_VARBINARY:
1123case BinXmlToken.SQL_BINARY:
1124case BinXmlToken.SQL_IMAGE:
1125case BinXmlToken.SQL_UDT:
1126case BinXmlToken.XSD_KATMAI_DATE:
1127case BinXmlToken.XSD_KATMAI_DATETIME:
1128case BinXmlToken.XSD_KATMAI_TIME:
1129case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1130case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1131case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1132case BinXmlToken.XSD_BINHEX:
1133case BinXmlToken.XSD_BASE64:
1134case BinXmlToken.XSD_BOOLEAN:
1135case BinXmlToken.XSD_TIME:
1136case BinXmlToken.XSD_DATETIME:
1137case BinXmlToken.XSD_DATE:
1138case BinXmlToken.XSD_BYTE:
1139case BinXmlToken.XSD_UNSIGNEDSHORT:
1140case BinXmlToken.XSD_UNSIGNEDINT:
1141case BinXmlToken.XSD_UNSIGNEDLONG:
1142case BinXmlToken.XSD_QNAME:
1145case BinXmlToken.SQL_CHAR:
1146case BinXmlToken.SQL_VARCHAR:
1147case BinXmlToken.SQL_TEXT:
1148case BinXmlToken.SQL_NCHAR:
1149case BinXmlToken.SQL_NVARCHAR:
1150case BinXmlToken.SQL_NTEXT:
1153case BinXmlToken.Element:
1154case BinXmlToken.EndElem:
1190case BinXmlToken.SQL_REAL:
1191case BinXmlToken.SQL_FLOAT:
1195case BinXmlToken.SQL_BIT:
1196case BinXmlToken.SQL_TINYINT:
1197case BinXmlToken.SQL_SMALLINT:
1198case BinXmlToken.SQL_INT:
1199case BinXmlToken.SQL_BIGINT:
1200case BinXmlToken.SQL_MONEY:
1201case BinXmlToken.SQL_SMALLMONEY:
1202case BinXmlToken.SQL_DATETIME:
1203case BinXmlToken.SQL_SMALLDATETIME:
1204case BinXmlToken.SQL_DECIMAL:
1205case BinXmlToken.SQL_NUMERIC:
1206case BinXmlToken.XSD_DECIMAL:
1207case BinXmlToken.SQL_UUID:
1208case BinXmlToken.SQL_VARBINARY:
1209case BinXmlToken.SQL_BINARY:
1210case BinXmlToken.SQL_IMAGE:
1211case BinXmlToken.SQL_UDT:
1212case BinXmlToken.XSD_KATMAI_DATE:
1213case BinXmlToken.XSD_KATMAI_DATETIME:
1214case BinXmlToken.XSD_KATMAI_TIME:
1215case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1216case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1217case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1218case BinXmlToken.XSD_BINHEX:
1219case BinXmlToken.XSD_BASE64:
1220case BinXmlToken.XSD_BOOLEAN:
1221case BinXmlToken.XSD_TIME:
1222case BinXmlToken.XSD_DATETIME:
1223case BinXmlToken.XSD_DATE:
1224case BinXmlToken.XSD_BYTE:
1225case BinXmlToken.XSD_UNSIGNEDSHORT:
1226case BinXmlToken.XSD_UNSIGNEDINT:
1227case BinXmlToken.XSD_UNSIGNEDLONG:
1228case BinXmlToken.XSD_QNAME:
1231case BinXmlToken.SQL_CHAR:
1232case BinXmlToken.SQL_VARCHAR:
1233case BinXmlToken.SQL_TEXT:
1234case BinXmlToken.SQL_NCHAR:
1235case BinXmlToken.SQL_NVARCHAR:
1236case BinXmlToken.SQL_NTEXT:
1239case BinXmlToken.Element:
1240case BinXmlToken.EndElem:
1276case BinXmlToken.SQL_BIT:
1277case BinXmlToken.SQL_TINYINT:
1278case BinXmlToken.SQL_SMALLINT:
1279case BinXmlToken.SQL_INT:
1280case BinXmlToken.SQL_BIGINT:
1281case BinXmlToken.SQL_MONEY:
1282case BinXmlToken.SQL_SMALLMONEY:
1283case BinXmlToken.SQL_DECIMAL:
1284case BinXmlToken.SQL_NUMERIC:
1285case BinXmlToken.XSD_DECIMAL:
1286case BinXmlToken.XSD_BYTE:
1287case BinXmlToken.XSD_UNSIGNEDSHORT:
1288case BinXmlToken.XSD_UNSIGNEDINT:
1289case BinXmlToken.XSD_UNSIGNEDLONG:
1293case BinXmlToken.SQL_REAL:
1294case BinXmlToken.SQL_FLOAT:
1295case BinXmlToken.SQL_DATETIME:
1296case BinXmlToken.SQL_SMALLDATETIME:
1297case BinXmlToken.SQL_UUID:
1298case BinXmlToken.SQL_VARBINARY:
1299case BinXmlToken.SQL_BINARY:
1300case BinXmlToken.SQL_IMAGE:
1301case BinXmlToken.SQL_UDT:
1302case BinXmlToken.XSD_KATMAI_DATE:
1303case BinXmlToken.XSD_KATMAI_DATETIME:
1304case BinXmlToken.XSD_KATMAI_TIME:
1305case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1306case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1307case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1308case BinXmlToken.XSD_BINHEX:
1309case BinXmlToken.XSD_BASE64:
1310case BinXmlToken.XSD_BOOLEAN:
1311case BinXmlToken.XSD_TIME:
1312case BinXmlToken.XSD_DATETIME:
1313case BinXmlToken.XSD_DATE:
1314case BinXmlToken.XSD_QNAME:
1317case BinXmlToken.SQL_CHAR:
1318case BinXmlToken.SQL_VARCHAR:
1319case BinXmlToken.SQL_TEXT:
1320case BinXmlToken.SQL_NCHAR:
1321case BinXmlToken.SQL_NVARCHAR:
1322case BinXmlToken.SQL_NTEXT:
1325case BinXmlToken.Element:
1326case BinXmlToken.EndElem:
1362case BinXmlToken.SQL_BIT:
1363case BinXmlToken.SQL_TINYINT:
1364case BinXmlToken.SQL_SMALLINT:
1365case BinXmlToken.SQL_INT:
1366case BinXmlToken.SQL_BIGINT:
1367case BinXmlToken.SQL_MONEY:
1368case BinXmlToken.SQL_SMALLMONEY:
1369case BinXmlToken.SQL_DECIMAL:
1370case BinXmlToken.SQL_NUMERIC:
1371case BinXmlToken.XSD_DECIMAL:
1372case BinXmlToken.XSD_BYTE:
1373case BinXmlToken.XSD_UNSIGNEDSHORT:
1374case BinXmlToken.XSD_UNSIGNEDINT:
1375case BinXmlToken.XSD_UNSIGNEDLONG:
1379case BinXmlToken.SQL_REAL:
1380case BinXmlToken.SQL_FLOAT:
1381case BinXmlToken.SQL_DATETIME:
1382case BinXmlToken.SQL_SMALLDATETIME:
1383case BinXmlToken.SQL_UUID:
1384case BinXmlToken.SQL_VARBINARY:
1385case BinXmlToken.SQL_BINARY:
1386case BinXmlToken.SQL_IMAGE:
1387case BinXmlToken.SQL_UDT:
1388case BinXmlToken.XSD_KATMAI_DATE:
1389case BinXmlToken.XSD_KATMAI_DATETIME:
1390case BinXmlToken.XSD_KATMAI_TIME:
1391case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1392case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1393case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1394case BinXmlToken.XSD_BINHEX:
1395case BinXmlToken.XSD_BASE64:
1396case BinXmlToken.XSD_BOOLEAN:
1397case BinXmlToken.XSD_TIME:
1398case BinXmlToken.XSD_DATETIME:
1399case BinXmlToken.XSD_DATE:
1400case BinXmlToken.XSD_QNAME:
1403case BinXmlToken.SQL_CHAR:
1404case BinXmlToken.SQL_VARCHAR:
1405case BinXmlToken.SQL_TEXT:
1406case BinXmlToken.SQL_NCHAR:
1407case BinXmlToken.SQL_NVARCHAR:
1408case BinXmlToken.SQL_NTEXT:
1411case BinXmlToken.Element:
1412case BinXmlToken.EndElem:
1448case BinXmlToken.SQL_BIT:
1449case BinXmlToken.SQL_TINYINT:
1450case BinXmlToken.SQL_SMALLINT:
1451case BinXmlToken.SQL_INT:
1452case BinXmlToken.SQL_BIGINT:
1453case BinXmlToken.SQL_MONEY:
1454case BinXmlToken.SQL_SMALLMONEY:
1455case BinXmlToken.SQL_DECIMAL:
1456case BinXmlToken.SQL_NUMERIC:
1457case BinXmlToken.XSD_DECIMAL:
1458case BinXmlToken.XSD_BYTE:
1459case BinXmlToken.XSD_UNSIGNEDSHORT:
1460case BinXmlToken.XSD_UNSIGNEDINT:
1461case BinXmlToken.XSD_UNSIGNEDLONG:
1465case BinXmlToken.SQL_REAL:
1466case BinXmlToken.SQL_FLOAT:
1467case BinXmlToken.SQL_DATETIME:
1468case BinXmlToken.SQL_SMALLDATETIME:
1469case BinXmlToken.SQL_UUID:
1470case BinXmlToken.SQL_VARBINARY:
1471case BinXmlToken.SQL_BINARY:
1472case BinXmlToken.SQL_IMAGE:
1473case BinXmlToken.SQL_UDT:
1474case BinXmlToken.XSD_KATMAI_DATE:
1475case BinXmlToken.XSD_KATMAI_DATETIME:
1476case BinXmlToken.XSD_KATMAI_TIME:
1477case BinXmlToken.XSD_KATMAI_DATEOFFSET:
1478case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
1479case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
1480case BinXmlToken.XSD_BINHEX:
1481case BinXmlToken.XSD_BASE64:
1482case BinXmlToken.XSD_BOOLEAN:
1483case BinXmlToken.XSD_TIME:
1484case BinXmlToken.XSD_DATETIME:
1485case BinXmlToken.XSD_DATE:
1486case BinXmlToken.XSD_QNAME:
1489case BinXmlToken.SQL_CHAR:
1490case BinXmlToken.SQL_VARCHAR:
1491case BinXmlToken.SQL_TEXT:
1492case BinXmlToken.SQL_NCHAR:
1493case BinXmlToken.SQL_NVARCHAR:
1494case BinXmlToken.SQL_NTEXT:
1497case BinXmlToken.Element:
1498case BinXmlToken.EndElem:
1655void VerifyVersion(int requiredVersion, BinXmlToken token) {
1908BinXmlToken PeekToken() {
1912return BinXmlToken.EOF;
1913return (BinXmlToken)this.data[this.pos];
1916BinXmlToken ReadToken() {
1920return BinXmlToken.EOF;
1921return (BinXmlToken)this.data[this.pos++];
1924BinXmlToken NextToken2(BinXmlToken token) {
1927case BinXmlToken.Name:
1930case BinXmlToken.QName:
1933case BinXmlToken.NmFlush:
1936case BinXmlToken.Extn:
1946BinXmlToken NextToken1() {
1947BinXmlToken token;
1952token = (BinXmlToken)this.data[pos];
1959if (token >= BinXmlToken.NmFlush
1960&& token <= BinXmlToken.Name)
1965BinXmlToken NextToken() {
1968BinXmlToken t = (BinXmlToken)this.data[pos];
1969if (!(t >= BinXmlToken.NmFlush && t <= BinXmlToken.Name)) {
1978BinXmlToken PeekNextToken() {
1979BinXmlToken token = NextToken();
1980if (BinXmlToken.EOF != token)
1986BinXmlToken RescanNextToken() {
1987BinXmlToken token;
1991case BinXmlToken.Name: {
1996case BinXmlToken.QName:
2001case BinXmlToken.Extn: {
2006case BinXmlToken.NmFlush:
2074BinXmlToken token = RescanNextToken();
2075if (BinXmlToken.Attr == token || BinXmlToken.EndAttrs == token) {
2116this.token = BinXmlToken.Attr;
2235if (BinXmlToken.XmlDecl == PeekToken()) {
2239if (BinXmlToken.Encoding == PeekToken()) {
2275BinXmlToken token;
2283while (BinXmlToken.EndAttrs != (token = NextToken())) {
2284if (BinXmlToken.Attr == token) {
2418Debug.Assert(this.token == BinXmlToken.CData, "this.token == BinXmlToken.CData");
2421while (PeekToken() == BinXmlToken.CData) {
2438case BinXmlToken.CData:
2445case BinXmlToken.EndCData:
2492case BinXmlToken.EOF:
2498case BinXmlToken.Element:
2502case BinXmlToken.EndElem:
2506case BinXmlToken.DocType:
2515case BinXmlToken.PI:
2521case BinXmlToken.Comment:
2527case BinXmlToken.CData:
2531case BinXmlToken.Nest:
2537case BinXmlToken.EndNest:
2543case BinXmlToken.XmlText:
2548case BinXmlToken.SQL_BIT:
2549case BinXmlToken.SQL_TINYINT:
2550case BinXmlToken.SQL_SMALLINT:
2551case BinXmlToken.SQL_INT:
2552case BinXmlToken.SQL_BIGINT:
2553case BinXmlToken.SQL_REAL:
2554case BinXmlToken.SQL_FLOAT:
2555case BinXmlToken.SQL_MONEY:
2556case BinXmlToken.SQL_SMALLMONEY:
2557case BinXmlToken.SQL_DATETIME:
2558case BinXmlToken.SQL_SMALLDATETIME:
2559case BinXmlToken.SQL_DECIMAL:
2560case BinXmlToken.SQL_NUMERIC:
2561case BinXmlToken.XSD_DECIMAL:
2562case BinXmlToken.SQL_UUID:
2563case BinXmlToken.SQL_VARBINARY:
2564case BinXmlToken.SQL_BINARY:
2565case BinXmlToken.SQL_IMAGE:
2566case BinXmlToken.SQL_UDT:
2567case BinXmlToken.XSD_KATMAI_DATE:
2568case BinXmlToken.XSD_KATMAI_DATETIME:
2569case BinXmlToken.XSD_KATMAI_TIME:
2570case BinXmlToken.XSD_KATMAI_DATEOFFSET:
2571case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
2572case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
2573case BinXmlToken.XSD_BINHEX:
2574case BinXmlToken.XSD_BASE64:
2575case BinXmlToken.SQL_CHAR:
2576case BinXmlToken.SQL_VARCHAR:
2577case BinXmlToken.SQL_TEXT:
2578case BinXmlToken.SQL_NCHAR:
2579case BinXmlToken.SQL_NVARCHAR:
2580case BinXmlToken.SQL_NTEXT:
2581case BinXmlToken.XSD_BOOLEAN:
2582case BinXmlToken.XSD_TIME:
2583case BinXmlToken.XSD_DATETIME:
2584case BinXmlToken.XSD_DATE:
2585case BinXmlToken.XSD_BYTE:
2586case BinXmlToken.XSD_UNSIGNEDSHORT:
2587case BinXmlToken.XSD_UNSIGNEDINT:
2588case BinXmlToken.XSD_UNSIGNEDLONG:
2589case BinXmlToken.XSD_QNAME:
2604void ImplReadData(BinXmlToken tokenType) {
2609case BinXmlToken.SQL_CHAR:
2610case BinXmlToken.SQL_VARCHAR:
2611case BinXmlToken.SQL_TEXT:
2612case BinXmlToken.SQL_NCHAR:
2613case BinXmlToken.SQL_NVARCHAR:
2614case BinXmlToken.SQL_NTEXT:
2627BinXmlToken tNext = PeekNextToken();
2629case BinXmlToken.SQL_BIT:
2630case BinXmlToken.SQL_TINYINT:
2631case BinXmlToken.SQL_SMALLINT:
2632case BinXmlToken.SQL_INT:
2633case BinXmlToken.SQL_BIGINT:
2634case BinXmlToken.SQL_REAL:
2635case BinXmlToken.SQL_FLOAT:
2636case BinXmlToken.SQL_MONEY:
2637case BinXmlToken.SQL_SMALLMONEY:
2638case BinXmlToken.SQL_DATETIME:
2639case BinXmlToken.SQL_SMALLDATETIME:
2640case BinXmlToken.SQL_DECIMAL:
2641case BinXmlToken.SQL_NUMERIC:
2642case BinXmlToken.XSD_DECIMAL:
2643case BinXmlToken.SQL_UUID:
2644case BinXmlToken.SQL_VARBINARY:
2645case BinXmlToken.SQL_BINARY:
2646case BinXmlToken.SQL_IMAGE:
2647case BinXmlToken.SQL_UDT:
2648case BinXmlToken.XSD_KATMAI_DATE:
2649case BinXmlToken.XSD_KATMAI_DATETIME:
2650case BinXmlToken.XSD_KATMAI_TIME:
2651case BinXmlToken.XSD_KATMAI_DATEOFFSET:
2652case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
2653case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
2654case BinXmlToken.XSD_BINHEX:
2655case BinXmlToken.XSD_BASE64:
2656case BinXmlToken.SQL_CHAR:
2657case BinXmlToken.SQL_VARCHAR:
2658case BinXmlToken.SQL_TEXT:
2659case BinXmlToken.SQL_NCHAR:
2660case BinXmlToken.SQL_NVARCHAR:
2661case BinXmlToken.SQL_NTEXT:
2662case BinXmlToken.XSD_BOOLEAN:
2663case BinXmlToken.XSD_TIME:
2664case BinXmlToken.XSD_DATETIME:
2665case BinXmlToken.XSD_DATE:
2666case BinXmlToken.XSD_BYTE:
2667case BinXmlToken.XSD_UNSIGNEDSHORT:
2668case BinXmlToken.XSD_UNSIGNEDINT:
2669case BinXmlToken.XSD_UNSIGNEDLONG:
2670case BinXmlToken.XSD_QNAME:
2700BinXmlToken t = PeekNextToken();
2701if (BinXmlToken.Attr == t) {
2706if (BinXmlToken.EndElem == t) {
2710else if (BinXmlToken.SQL_NVARCHAR == t) {
2719if (BinXmlToken.EndElem != (BinXmlToken)ReadByte()) {
2764if (BinXmlToken.System == PeekToken()) {
2768if (BinXmlToken.Public == PeekToken()) {
2772if (BinXmlToken.Subset == PeekToken()) {
2887map[(int)BinXmlToken.XSD_BOOLEAN] = typeof(System.Boolean);
2888map[(int)BinXmlToken.SQL_TINYINT] = typeof(System.Byte);
2889map[(int)BinXmlToken.XSD_BYTE] = typeof(System.SByte);
2890map[(int)BinXmlToken.SQL_SMALLINT] = typeof(Int16);
2891map[(int)BinXmlToken.XSD_UNSIGNEDSHORT] = typeof(UInt16);
2892map[(int)BinXmlToken.XSD_UNSIGNEDINT] = typeof(UInt32);
2893map[(int)BinXmlToken.SQL_REAL] = typeof(Single);
2894map[(int)BinXmlToken.SQL_FLOAT] = typeof(Double);
2895map[(int)BinXmlToken.SQL_BIGINT] = typeof(Int64);
2896map[(int)BinXmlToken.XSD_UNSIGNEDLONG] = typeof(UInt64);
2897map[(int)BinXmlToken.XSD_QNAME] = typeof(XmlQualifiedName);
2899map[(int)BinXmlToken.SQL_BIT] = TypeOfInt32;
2900map[(int)BinXmlToken.SQL_INT] = TypeOfInt32;
2902map[(int)BinXmlToken.SQL_SMALLMONEY] = TypeOfDecimal;
2903map[(int)BinXmlToken.SQL_MONEY] = TypeOfDecimal;
2904map[(int)BinXmlToken.SQL_DECIMAL] = TypeOfDecimal;
2905map[(int)BinXmlToken.SQL_NUMERIC] = TypeOfDecimal;
2906map[(int)BinXmlToken.XSD_DECIMAL] = TypeOfDecimal;
2908map[(int)BinXmlToken.SQL_SMALLDATETIME] = TypeOfDateTime;
2909map[(int)BinXmlToken.SQL_DATETIME] = TypeOfDateTime;
2910map[(int)BinXmlToken.XSD_TIME] = TypeOfDateTime;
2911map[(int)BinXmlToken.XSD_DATETIME] = TypeOfDateTime;
2912map[(int)BinXmlToken.XSD_DATE] = TypeOfDateTime;
2913map[(int)BinXmlToken.XSD_KATMAI_DATE] = TypeOfDateTime;
2914map[(int)BinXmlToken.XSD_KATMAI_DATETIME] = TypeOfDateTime;
2915map[(int)BinXmlToken.XSD_KATMAI_TIME] = TypeOfDateTime;
2917map[(int)BinXmlToken.XSD_KATMAI_DATEOFFSET] = TypeOfDateTimeOffset;
2918map[(int)BinXmlToken.XSD_KATMAI_DATETIMEOFFSET] = TypeOfDateTimeOffset;
2919map[(int)BinXmlToken.XSD_KATMAI_TIMEOFFSET] = TypeOfDateTimeOffset;
2921map[(int)BinXmlToken.SQL_VARBINARY] = TypeOfByteArray;
2922map[(int)BinXmlToken.SQL_BINARY] = TypeOfByteArray;
2923map[(int)BinXmlToken.SQL_IMAGE] = TypeOfByteArray;
2924map[(int)BinXmlToken.SQL_UDT] = TypeOfByteArray;
2925map[(int)BinXmlToken.XSD_BINHEX] = TypeOfByteArray;
2926map[(int)BinXmlToken.XSD_BASE64] = TypeOfByteArray;
2927map[(int)BinXmlToken.SQL_CHAR] = TypeOfString;
2928map[(int)BinXmlToken.SQL_VARCHAR] = TypeOfString;
2929map[(int)BinXmlToken.SQL_TEXT] = TypeOfString;
2930map[(int)BinXmlToken.SQL_NCHAR] = TypeOfString;
2931map[(int)BinXmlToken.SQL_NVARCHAR] = TypeOfString;
2932map[(int)BinXmlToken.SQL_NTEXT] = TypeOfString;
2933map[(int)BinXmlToken.SQL_UUID] = TypeOfString;
2938System.Type GetValueType(BinXmlToken token) {
2946void ReScanOverValue(BinXmlToken token) {
2950XmlNodeType ScanOverValue(BinXmlToken token, bool attr, bool checkChars) {
2951if (token == BinXmlToken.SQL_NVARCHAR) {
2976XmlNodeType ScanOverAnyValue(BinXmlToken token, bool attr, bool checkChars) {
2981case BinXmlToken.SQL_BIT:
2982case BinXmlToken.SQL_TINYINT:
2983case BinXmlToken.XSD_BOOLEAN:
2984case BinXmlToken.XSD_BYTE:
2990case BinXmlToken.SQL_SMALLINT:
2991case BinXmlToken.XSD_UNSIGNEDSHORT:
2997case BinXmlToken.SQL_INT:
2998case BinXmlToken.XSD_UNSIGNEDINT:
2999case BinXmlToken.SQL_REAL:
3000case BinXmlToken.SQL_SMALLMONEY:
3001case BinXmlToken.SQL_SMALLDATETIME:
3007case BinXmlToken.SQL_BIGINT:
3008case BinXmlToken.XSD_UNSIGNEDLONG:
3009case BinXmlToken.SQL_FLOAT:
3010case BinXmlToken.SQL_MONEY:
3011case BinXmlToken.SQL_DATETIME:
3012case BinXmlToken.XSD_TIME:
3013case BinXmlToken.XSD_DATETIME:
3014case BinXmlToken.XSD_DATE:
3020case BinXmlToken.SQL_UUID:
3026case BinXmlToken.SQL_DECIMAL:
3027case BinXmlToken.SQL_NUMERIC:
3028case BinXmlToken.XSD_DECIMAL:
3034case BinXmlToken.SQL_VARBINARY:
3035case BinXmlToken.SQL_BINARY:
3036case BinXmlToken.SQL_IMAGE:
3037case BinXmlToken.SQL_UDT:
3038case BinXmlToken.XSD_BINHEX:
3039case BinXmlToken.XSD_BASE64:
3045case BinXmlToken.SQL_CHAR:
3046case BinXmlToken.SQL_VARCHAR:
3047case BinXmlToken.SQL_TEXT:
3060case BinXmlToken.SQL_NVARCHAR:
3061case BinXmlToken.SQL_NCHAR:
3062case BinXmlToken.SQL_NTEXT:
3063return ScanOverValue(BinXmlToken.SQL_NVARCHAR, attr, checkChars);
3065case BinXmlToken.XSD_QNAME:
3070case BinXmlToken.XSD_KATMAI_DATE:
3071case BinXmlToken.XSD_KATMAI_DATETIME:
3072case BinXmlToken.XSD_KATMAI_TIME:
3073case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3074case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3075case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3172int GetXsdKatmaiTokenLength(BinXmlToken token) {
3175case BinXmlToken.XSD_KATMAI_DATE:
3178case BinXmlToken.XSD_KATMAI_TIME:
3179case BinXmlToken.XSD_KATMAI_DATETIME:
3184case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3185case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3186case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3206case BinXmlToken.SQL_BIT:
3207case BinXmlToken.SQL_TINYINT: {
3212case BinXmlToken.XSD_BYTE: {
3217case BinXmlToken.SQL_SMALLINT:
3220case BinXmlToken.SQL_INT:
3223case BinXmlToken.SQL_BIGINT:
3226case BinXmlToken.XSD_UNSIGNEDSHORT:
3229case BinXmlToken.XSD_UNSIGNEDINT:
3232case BinXmlToken.XSD_UNSIGNEDLONG: {
3237case BinXmlToken.SQL_REAL:
3238case BinXmlToken.SQL_FLOAT: {
3243case BinXmlToken.SQL_MONEY:
3244case BinXmlToken.SQL_SMALLMONEY:
3245case BinXmlToken.SQL_DECIMAL:
3246case BinXmlToken.SQL_NUMERIC:
3247case BinXmlToken.XSD_DECIMAL: {
3258if (BinXmlToken.XSD_UNSIGNEDLONG == this.token) {
3270case BinXmlToken.SQL_BIT:
3271case BinXmlToken.SQL_TINYINT:
3272case BinXmlToken.SQL_SMALLINT:
3273case BinXmlToken.SQL_INT:
3274case BinXmlToken.SQL_BIGINT:
3275case BinXmlToken.XSD_BYTE:
3276case BinXmlToken.XSD_UNSIGNEDSHORT:
3277case BinXmlToken.XSD_UNSIGNEDINT:
3280case BinXmlToken.XSD_UNSIGNEDLONG:
3283case BinXmlToken.SQL_REAL:
3286case BinXmlToken.SQL_FLOAT:
3289case BinXmlToken.SQL_SMALLMONEY: {
3293case BinXmlToken.SQL_MONEY: {
3298case BinXmlToken.XSD_DECIMAL:
3299case BinXmlToken.SQL_DECIMAL:
3300case BinXmlToken.SQL_NUMERIC: {
3301BinXmlSqlDecimal v = new BinXmlSqlDecimal(this.data, this.tokDataPos, token == BinXmlToken.XSD_DECIMAL);
3313case BinXmlToken.SQL_BIT:
3314case BinXmlToken.SQL_TINYINT:
3315case BinXmlToken.SQL_SMALLINT:
3316case BinXmlToken.SQL_INT:
3317case BinXmlToken.SQL_BIGINT:
3318case BinXmlToken.XSD_BYTE:
3319case BinXmlToken.XSD_UNSIGNEDSHORT:
3320case BinXmlToken.XSD_UNSIGNEDINT:
3323case BinXmlToken.XSD_UNSIGNEDLONG:
3326case BinXmlToken.SQL_REAL:
3329case BinXmlToken.SQL_FLOAT:
3332case BinXmlToken.SQL_SMALLMONEY:
3333case BinXmlToken.SQL_MONEY:
3334case BinXmlToken.XSD_DECIMAL:
3335case BinXmlToken.SQL_DECIMAL:
3336case BinXmlToken.SQL_NUMERIC:
3347case BinXmlToken.SQL_DATETIME: {
3355case BinXmlToken.SQL_SMALLDATETIME: {
3363case BinXmlToken.XSD_TIME: {
3368case BinXmlToken.XSD_DATE: {
3373case BinXmlToken.XSD_DATETIME: {
3378case BinXmlToken.XSD_KATMAI_DATE:
3381case BinXmlToken.XSD_KATMAI_DATETIME:
3384case BinXmlToken.XSD_KATMAI_TIME:
3387case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3390case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3393case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3404case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3407case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3410case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3422case BinXmlToken.SQL_DATETIME: {
3430case BinXmlToken.SQL_SMALLDATETIME: {
3438case BinXmlToken.XSD_TIME: {
3443case BinXmlToken.XSD_DATE: {
3448case BinXmlToken.XSD_DATETIME: {
3453case BinXmlToken.XSD_KATMAI_DATE:
3456case BinXmlToken.XSD_KATMAI_DATETIME:
3459case BinXmlToken.XSD_KATMAI_TIME:
3462case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3465case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3468case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3476string ValueAsString(BinXmlToken token) {
3480case BinXmlToken.SQL_NCHAR:
3481case BinXmlToken.SQL_NVARCHAR:
3482case BinXmlToken.SQL_NTEXT:
3485case BinXmlToken.XSD_BOOLEAN: {
3492case BinXmlToken.SQL_BIT:
3493case BinXmlToken.SQL_TINYINT:
3494case BinXmlToken.SQL_SMALLINT:
3495case BinXmlToken.SQL_INT:
3496case BinXmlToken.SQL_BIGINT:
3497case BinXmlToken.XSD_BYTE:
3498case BinXmlToken.XSD_UNSIGNEDSHORT:
3499case BinXmlToken.XSD_UNSIGNEDINT:
3502case BinXmlToken.XSD_UNSIGNEDLONG:
3505case BinXmlToken.SQL_REAL:
3508case BinXmlToken.SQL_FLOAT:
3511case BinXmlToken.SQL_UUID: {
3521case BinXmlToken.SQL_SMALLMONEY: {
3525case BinXmlToken.SQL_MONEY: {
3530case BinXmlToken.XSD_DECIMAL:
3531case BinXmlToken.SQL_DECIMAL:
3532case BinXmlToken.SQL_NUMERIC: {
3533BinXmlSqlDecimal v = new BinXmlSqlDecimal( this.data, this.tokDataPos, token == BinXmlToken.XSD_DECIMAL );
3537case BinXmlToken.SQL_CHAR:
3538case BinXmlToken.SQL_VARCHAR:
3539case BinXmlToken.SQL_TEXT: {
3546case BinXmlToken.SQL_VARBINARY:
3547case BinXmlToken.SQL_BINARY:
3548case BinXmlToken.SQL_IMAGE:
3549case BinXmlToken.SQL_UDT:
3550case BinXmlToken.XSD_BASE64: {
3554case BinXmlToken.XSD_BINHEX:
3557case BinXmlToken.SQL_DATETIME:
3558case BinXmlToken.SQL_SMALLDATETIME:
3559case BinXmlToken.XSD_TIME:
3560case BinXmlToken.XSD_DATE:
3561case BinXmlToken.XSD_DATETIME:
3562case BinXmlToken.XSD_KATMAI_DATE:
3563case BinXmlToken.XSD_KATMAI_DATETIME:
3564case BinXmlToken.XSD_KATMAI_TIME:
3565case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3566case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3567case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3570case BinXmlToken.XSD_QNAME: {
3591object ValueAsObject(BinXmlToken token, bool returnInternalTypes) {
3594case BinXmlToken.SQL_NCHAR:
3595case BinXmlToken.SQL_NVARCHAR:
3596case BinXmlToken.SQL_NTEXT:
3599case BinXmlToken.XSD_BOOLEAN:
3602case BinXmlToken.SQL_BIT:
3605case BinXmlToken.SQL_TINYINT:
3608case BinXmlToken.SQL_SMALLINT:
3611case BinXmlToken.SQL_INT:
3614case BinXmlToken.SQL_BIGINT:
3617case BinXmlToken.XSD_BYTE: {
3622case BinXmlToken.XSD_UNSIGNEDSHORT:
3625case BinXmlToken.XSD_UNSIGNEDINT:
3628case BinXmlToken.XSD_UNSIGNEDLONG:
3631case BinXmlToken.SQL_REAL:
3634case BinXmlToken.SQL_FLOAT:
3637case BinXmlToken.SQL_UUID: {
3647case BinXmlToken.SQL_SMALLMONEY: {
3655case BinXmlToken.SQL_MONEY: {
3663case BinXmlToken.XSD_DECIMAL:
3664case BinXmlToken.SQL_DECIMAL:
3665case BinXmlToken.SQL_NUMERIC: {
3666BinXmlSqlDecimal v = new BinXmlSqlDecimal(this.data, this.tokDataPos, token == BinXmlToken.XSD_DECIMAL);
3673case BinXmlToken.SQL_CHAR:
3674case BinXmlToken.SQL_VARCHAR:
3675case BinXmlToken.SQL_TEXT: {
3682case BinXmlToken.SQL_VARBINARY:
3683case BinXmlToken.SQL_BINARY:
3684case BinXmlToken.SQL_IMAGE:
3685case BinXmlToken.SQL_UDT:
3686case BinXmlToken.XSD_BASE64:
3687case BinXmlToken.XSD_BINHEX: {
3693case BinXmlToken.SQL_DATETIME:
3694case BinXmlToken.SQL_SMALLDATETIME:
3695case BinXmlToken.XSD_TIME:
3696case BinXmlToken.XSD_DATE:
3697case BinXmlToken.XSD_DATETIME:
3698case BinXmlToken.XSD_KATMAI_DATE:
3699case BinXmlToken.XSD_KATMAI_DATETIME:
3700case BinXmlToken.XSD_KATMAI_TIME:
3703case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3704case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3705case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3708case BinXmlToken.XSD_QNAME: {
3726object ValueAs(BinXmlToken token, Type returnType, IXmlNamespaceResolver namespaceResolver) {
3730case BinXmlToken.SQL_NCHAR:
3731case BinXmlToken.SQL_NVARCHAR:
3732case BinXmlToken.SQL_NTEXT:
3738case BinXmlToken.XSD_BOOLEAN:
3744case BinXmlToken.SQL_BIT:
3750case BinXmlToken.SQL_TINYINT:
3756case BinXmlToken.SQL_SMALLINT: {
3762case BinXmlToken.SQL_INT: {
3768case BinXmlToken.SQL_BIGINT: {
3774case BinXmlToken.XSD_BYTE: {
3780case BinXmlToken.XSD_UNSIGNEDSHORT: {
3786case BinXmlToken.XSD_UNSIGNEDINT: {
3792case BinXmlToken.XSD_UNSIGNEDLONG: {
3798case BinXmlToken.SQL_REAL: {
3804case BinXmlToken.SQL_FLOAT: {
3810case BinXmlToken.SQL_UUID:
3815case BinXmlToken.SQL_SMALLMONEY:
3821case BinXmlToken.SQL_MONEY:
3827case BinXmlToken.XSD_DECIMAL:
3828case BinXmlToken.SQL_DECIMAL:
3829case BinXmlToken.SQL_NUMERIC:
3831(new BinXmlSqlDecimal(this.data, this.tokDataPos, token == BinXmlToken.XSD_DECIMAL)).ToDecimal(),
3835case BinXmlToken.SQL_CHAR:
3836case BinXmlToken.SQL_VARCHAR:
3837case BinXmlToken.SQL_TEXT: {
3847case BinXmlToken.SQL_VARBINARY:
3848case BinXmlToken.SQL_BINARY:
3849case BinXmlToken.SQL_IMAGE:
3850case BinXmlToken.SQL_UDT:
3851case BinXmlToken.XSD_BASE64:
3852case BinXmlToken.XSD_BINHEX: {
3855value = GetValueConverter(token == BinXmlToken.XSD_BINHEX ? XmlTypeCode.HexBinary : XmlTypeCode.Base64Binary).ChangeType(
3860case BinXmlToken.SQL_DATETIME:
3861case BinXmlToken.SQL_SMALLDATETIME:
3862case BinXmlToken.XSD_DATETIME:
3863case BinXmlToken.XSD_KATMAI_DATE:
3864case BinXmlToken.XSD_KATMAI_DATETIME:
3865case BinXmlToken.XSD_KATMAI_TIME:
3871case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3872case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3873case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3879case BinXmlToken.XSD_TIME:
3885case BinXmlToken.XSD_DATE:
3891case BinXmlToken.XSD_QNAME: {
3968Exception ThrowUnexpectedToken(BinXmlToken token) {