public override void parse(XmlBContext ctxt, string endingTag)
{
#pragma warning disable 0168, 0219
int indicator = 0;
char quoteChar;
string tempStr = null;
bool fl2101;
bool fl2102;
bool fl2103;
bool fl2104;
#pragma warning restore 0168, 0219
ctxt.skipWhiteSpace();
{
// Accept Attributes
fl2101 = false ;
fl2102 = false ;
fl2103 = false ;
fl2104 = true ;
while (fl2104) { // BeginLoop
switch (ctxt.current()) {
case 'm':
{
ctxt.advance();
if (ctxt.lookAheadString("edia=")){
indicator = 2102;
} else {
indicator = 2105;
} // If
break;
} // Case
case 'd':
{
ctxt.advance();
if (ctxt.lookAheadString("escription=")){
indicator = 2101;
} else {
indicator = 2105;
} // If
break;
} // Case
case 'b':
{
ctxt.advance();
if (ctxt.lookAhead2('l','=')){
indicator = 2103;
} else {
indicator = 2105;
} // If
break;
} // Case
default:
indicator = 2105;
break;
} // Switch
switch (indicator) {
case 2101: {
// Handling attribute description
// Also handles alien attributes with prefix description
if (fl2101){
ctxt.fail ("Duplicate attribute: description");
} // If
fl2101 = true ;
quoteChar = ctxt.acceptQuote();
this.setDescription((acceptor.lAcceptPcData(ctxt,-1, quoteChar, XmlBContext.WS_PRESERVE)));
ctxt.accept(quoteChar);
ctxt.skipWhiteSpace();
break;
} // End of dispatch label
case 2102: {
// Handling attribute media
// Also handles alien attributes with prefix media
if (fl2102){
ctxt.fail ("Duplicate attribute: media");
} // If
fl2102 = true ;
quoteChar = ctxt.acceptQuote();
this.setMedia(acceptor.lAcceptEnum_Message_media(ctxt));
ctxt.accept(quoteChar);
ctxt.skipWhiteSpace();
break;
} // End of dispatch label
case 2103: {
// Handling attribute bl
// Also handles alien attributes with prefix bl
if (fl2103){
ctxt.fail ("Duplicate attribute: bl");
} // If
fl2103 = true ;
quoteChar = ctxt.acceptQuote();
this.setBl((acceptor.lAcceptPcData(ctxt,-1, quoteChar, XmlBContext.WS_PRESERVE)));
ctxt.accept(quoteChar);
ctxt.skipWhiteSpace();
break;
} // End of dispatch label
// Final default label
case 2105: {
// Taking ignorable attributes into account
if (ctxt.isAlNum()){
ctxt.skipTill ('=');
ctxt.advance();
ctxt.skipWhiteSpace();
quoteChar = ctxt.acceptQuote();
ctxt.skipTill (quoteChar);
ctxt.accept(quoteChar);
ctxt.skipWhiteSpace();
} else {
if (!fl2101){
ctxt.fail ("Mandatory attribute missing: description in Message");
} // If
if (!fl2102){
ctxt.fail ("Mandatory attribute missing: media in Message");
} // If
fl2104 = false ;
} // If
break;
} // End of dispatch label
} // Dispatch
} // While
}
ctxt.skipWhiteSpace();
if (ctxt.current() == '/'){
ctxt.advance();
ctxt.accept('>');
} else {
ctxt.accept('>');
parseBody(ctxt);
ctxt.acceptString ("</Message>");
// If formula empty
} // If
}