Esempio n. 1
0
        private capex.text.XMLParser.Value onTagString(string tagstring, int pos)
        {
            if (cape.String.charAt(tagstring, 0) == '/')
            {
                var v = new capex.text.XMLParser.EndElement();
                v.setPosition(pos);
                v.setName(cape.String.subString(tagstring, 1));
                return((capex.text.XMLParser.Value)v);
            }
            var element = new cape.StringBuilder();
            var @params = new cape.DynamicMap();
            var it      = new cape.CharacterIteratorForString(tagstring);
            var c       = ' ';

            while ((c = it.getNextChar()) > 0)
            {
                if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '/')
                {
                    if (element.count() > 0)
                    {
                        break;
                    }
                }
                else
                {
                    element.append(c);
                }
            }
            while (c > 0 && c != '/')
            {
                var pname = new cape.StringBuilder();
                var pval  = new cape.StringBuilder();
                while (c == ' ' || c == '\t' || c == '\n' || c == '\r')
                {
                    c = it.getNextChar();
                }
                while (c > 0 && c != ' ' && c != '\t' && c != '\n' && c != '\r' && c != '=')
                {
                    pname.append(c);
                    c = it.getNextChar();
                }
                while (c == ' ' || c == '\t' || c == '\n' || c == '\r')
                {
                    c = it.getNextChar();
                }
                if (c != '=')
                {
                    ;
                }
                else
                {
                    c = it.getNextChar();
                    while (c == ' ' || c == '\t' || c == '\n' || c == '\r')
                    {
                        c = it.getNextChar();
                    }
                    if (c != '\"')
                    {
                        ;
                        while (c > 0 && c != ' ' && c != '\t' && c != '\n' && c != '\r')
                        {
                            pval.append(c);
                            c = it.getNextChar();
                        }
                        while (c == ' ' || c == '\t' || c == '\n' || c == '\r')
                        {
                            c = it.getNextChar();
                        }
                    }
                    else
                    {
                        c = it.getNextChar();
                        while (c > 0 && c != '\"')
                        {
                            pval.append(c);
                            c = it.getNextChar();
                        }
                        if (c != '\"')
                        {
                            ;
                        }
                        else
                        {
                            c = it.getNextChar();
                        }
                        while (c == ' ' || c == '\t' || c == '\n' || c == '\r')
                        {
                            c = it.getNextChar();
                        }
                    }
                }
                var pnamestr = pname.toString();
                var pvalstr  = pval.toString();
                @params.set(pnamestr, (object)pvalstr);
            }
            var els = element.toString();

            if (c == '/')
            {
                var e = new capex.text.XMLParser.EndElement();
                e.setName(els);
                e.setPosition(pos);
                nextQueue = (capex.text.XMLParser.Value)e;
            }
            var v1 = new capex.text.XMLParser.StartElement();

            v1.setPosition(pos);
            v1.setName(els);
            v1.setParams(@params);
            return((capex.text.XMLParser.Value)v1);
        }
Esempio n. 2
0
 public StringLineReader(string str)
 {
     iterator = new cape.CharacterIteratorForString(str);
 }