Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ScanOverAnyValue()

XmlNodeType System.Xml.XmlSqlBinaryReader.ScanOverAnyValue ( BinXmlToken token,
bool attr,
bool checkChars )
inlineprivate

Definition at line 3167 of file XmlSqlBinaryReader.cs.

3168 {
3169 if (_mark < 0)
3170 {
3171 _mark = _pos;
3172 }
3173 checked
3174 {
3175 switch (token)
3176 {
3177 case BinXmlToken.SQL_BIT:
3178 case BinXmlToken.SQL_TINYINT:
3179 case BinXmlToken.XSD_BOOLEAN:
3180 case BinXmlToken.XSD_BYTE:
3181 _tokDataPos = _pos;
3182 _tokLen = 1;
3183 _pos++;
3184 break;
3185 case BinXmlToken.SQL_SMALLINT:
3186 case BinXmlToken.XSD_UNSIGNEDSHORT:
3187 _tokDataPos = _pos;
3188 _tokLen = 2;
3189 _pos += 2;
3190 break;
3191 case BinXmlToken.SQL_INT:
3192 case BinXmlToken.SQL_REAL:
3193 case BinXmlToken.SQL_SMALLDATETIME:
3194 case BinXmlToken.SQL_SMALLMONEY:
3195 case BinXmlToken.XSD_UNSIGNEDINT:
3196 _tokDataPos = _pos;
3197 _tokLen = 4;
3198 _pos += 4;
3199 break;
3200 case BinXmlToken.SQL_FLOAT:
3201 case BinXmlToken.SQL_MONEY:
3202 case BinXmlToken.SQL_BIGINT:
3203 case BinXmlToken.SQL_DATETIME:
3204 case BinXmlToken.XSD_TIME:
3205 case BinXmlToken.XSD_DATETIME:
3206 case BinXmlToken.XSD_DATE:
3207 case BinXmlToken.XSD_UNSIGNEDLONG:
3208 _tokDataPos = _pos;
3209 _tokLen = 8;
3210 _pos += 8;
3211 break;
3212 case BinXmlToken.SQL_UUID:
3213 _tokDataPos = _pos;
3214 _tokLen = 16;
3215 _pos += 16;
3216 break;
3217 case BinXmlToken.SQL_DECIMAL:
3218 case BinXmlToken.SQL_NUMERIC:
3219 case BinXmlToken.XSD_DECIMAL:
3220 _tokDataPos = _pos;
3221 _tokLen = ParseMB64();
3222 _pos += _tokLen;
3223 break;
3224 case BinXmlToken.SQL_BINARY:
3225 case BinXmlToken.SQL_VARBINARY:
3226 case BinXmlToken.SQL_IMAGE:
3227 case BinXmlToken.SQL_UDT:
3228 case BinXmlToken.XSD_BINHEX:
3229 case BinXmlToken.XSD_BASE64:
3230 _tokLen = ParseMB64();
3231 _tokDataPos = _pos;
3232 _pos += _tokLen;
3233 break;
3234 case BinXmlToken.SQL_CHAR:
3235 case BinXmlToken.SQL_VARCHAR:
3236 case BinXmlToken.SQL_TEXT:
3237 _tokLen = ParseMB64();
3238 _tokDataPos = _pos;
3239 _pos += _tokLen;
3241 {
3242 Fill(-1);
3243 string text = ValueAsString(token);
3244 XmlConvert.VerifyCharData(text, ExceptionType.ArgumentException, ExceptionType.XmlException);
3246 }
3247 break;
3248 case BinXmlToken.SQL_NCHAR:
3249 case BinXmlToken.SQL_NVARCHAR:
3250 case BinXmlToken.SQL_NTEXT:
3251 return ScanOverValue(BinXmlToken.SQL_NVARCHAR, attr, checkChars);
3252 case BinXmlToken.XSD_QNAME:
3253 _tokDataPos = _pos;
3254 ParseMB32();
3255 break;
3256 case BinXmlToken.XSD_KATMAI_TIMEOFFSET:
3257 case BinXmlToken.XSD_KATMAI_DATETIMEOFFSET:
3258 case BinXmlToken.XSD_KATMAI_DATEOFFSET:
3259 case BinXmlToken.XSD_KATMAI_TIME:
3260 case BinXmlToken.XSD_KATMAI_DATETIME:
3261 case BinXmlToken.XSD_KATMAI_DATE:
3262 VerifyVersion(2, token);
3263 _tokDataPos = _pos;
3265 _pos += _tokLen;
3266 break;
3267 default:
3268 throw ThrowUnexpectedToken(token);
3269 }
3270 Fill(-1);
3271 return XmlNodeType.Text;
3272 }
3273 }
XmlNodeType ScanOverValue(BinXmlToken token, bool attr, bool checkChars)
string ValueAsString(BinXmlToken token)
int GetXsdKatmaiTokenLength(BinXmlToken token)
void VerifyVersion(int requiredVersion, BinXmlToken token)
Exception ThrowUnexpectedToken(BinXmlToken token)

References System.Xml.XmlSqlBinaryReader._checkCharacters, System.Xml.XmlSqlBinaryReader._mark, System.Xml.XmlSqlBinaryReader._pos, System.Xml.XmlSqlBinaryReader._stringValue, System.Xml.XmlSqlBinaryReader._tokDataPos, System.Xml.XmlSqlBinaryReader._tokLen, System.Xml.XmlSqlBinaryReader.Fill(), System.Xml.XmlSqlBinaryReader.GetXsdKatmaiTokenLength(), System.Xml.XmlSqlBinaryReader.ParseMB32(), System.Xml.XmlSqlBinaryReader.ParseMB64(), System.Xml.XmlSqlBinaryReader.ScanOverValue(), System.text, System.Xml.XmlSqlBinaryReader.ThrowUnexpectedToken(), System.Xml.XmlSqlBinaryReader.ValueAsString(), System.Xml.XmlConvert.VerifyCharData(), and System.Xml.XmlSqlBinaryReader.VerifyVersion().

Referenced by System.Xml.XmlSqlBinaryReader.ScanOverValue().