public override void parse(XmlBContext ctxt, string endingTag)
{
#pragma warning disable 0168, 0219
int indicator = 0;
char quoteChar;
string tempStr = null;
bool fl2193;
bool fl2194;
bool fl2195;
#pragma warning restore 0168, 0219
ctxt.skipWhiteSpace();
{
// Accept Attributes
fl2193 = false ;
fl2194 = false ;
fl2195 = true ;
while (fl2195) { // BeginLoop
switch (ctxt.current()) {
case 't':
{
ctxt.advance();
if (ctxt.lookAheadString("ype=")){
indicator = 2193;
} else {
indicator = 2196;
} // If
break;
} // Case
case 'b':
{
ctxt.advance();
if (ctxt.lookAhead2('l','=')){
indicator = 2194;
} else {
indicator = 2196;
} // If
break;
} // Case
default:
indicator = 2196;
break;
} // Switch
switch (indicator) {
case 2193: {
// Handling attribute type
// Also handles alien attributes with prefix type
if (fl2193){
ctxt.fail ("Duplicate attribute: type");
} // If
fl2193 = true ;
quoteChar = ctxt.acceptQuote();
this.setType(acceptor.lAcceptEnum_meaning_type(ctxt));
ctxt.accept(quoteChar);
ctxt.skipWhiteSpace();
break;
} // End of dispatch label
case 2194: {
// Handling attribute bl
// Also handles alien attributes with prefix bl
if (fl2194){
ctxt.fail ("Duplicate attribute: bl");
} // If
fl2194 = 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 2196: {
// 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 (!fl2193){
ctxt.fail ("Mandatory attribute missing: type in meaning");
} // If
fl2195 = 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 ("</meaning>");
// If formula empty
} // If
}