Esempio n. 1
0
 public IndentXMLNodeDecorator(IXMLNodeDecorator dec, IndentType indent_type, int indent_num)
     : this()
 {
     this.dec_         = dec;
     this.indent_type_ = indent_type;
     this.indent_num_  = indent_num;
 }
Esempio n. 2
0
 public LineBreakBeforeAttrXMLNodeDecorator(IXMLNodeDecorator dec, bool cr, bool lf)
     : this()
 {
     this.dec_ = dec;
     this.cr_  = cr;
     this.lf_  = lf;
 }
Esempio n. 3
0
        private IXMLNodeDecorator GenNestedDecorator()
        {
            IXMLNodeDecorator base_dec = new BaseXMLNodeDecorator();

            IXMLNodeDecorator inner_dec = base_dec;
            IXMLNodeDecorator ret_dec   = inner_dec;

            // Generate Nested Decorator
            if (this.checkBox_AttrSingleQuote.Checked)
            {
                // wrap
                inner_dec = new AttrSingleQuoteXMLNodeDecorator(inner_dec);
                ret_dec   = inner_dec;
            }
            if (this.checkBox_Indent.Checked)
            {
                // wrap
                IndentXMLNodeDecorator.IndentType indent_type;
                int indent_num;
                if (this.radioButton_Indent_space.Checked)
                {
                    indent_type = IndentXMLNodeDecorator.IndentType.space;
                    indent_num  = 4; // todo
                }
                else if (this.radioButton_Indent_tab.Checked)
                {
                    indent_type = IndentXMLNodeDecorator.IndentType.tab;
                    indent_num  = 1; // todo
                }
                else
                {
                    indent_type = IndentXMLNodeDecorator.IndentType.other;
                    indent_num  = 2; // todo
                }

                inner_dec = new IndentXMLNodeDecorator(inner_dec, indent_type, indent_num);
                ret_dec   = inner_dec;
            }
            if (this.checkBox_LineBreakBeforeAttr.Checked)
            {
                // wrap
                bool cr = this.checkBox_LineBreakBeforeAttr_CR.Checked;
                bool lf = this.checkBox_LineBreakBeforeAttr_LF.Checked;
                inner_dec = new LineBreakBeforeAttrXMLNodeDecorator(inner_dec, cr, lf);
                ret_dec   = inner_dec;
            }

            return(ret_dec);
        }
Esempio n. 4
0
        private string printNodeTagStart(IXMLNodeDecorator dec, XmlNode node)
        {
            string ret = "";

            // start tag or start element
            switch (node.NodeType)
            {
            case XmlNodeType.Document:
                /* nop */
                break;

            case XmlNodeType.XmlDeclaration:
                ret += "<?" + node.Name + " " + node.Value + "?>";
                break;

            case XmlNodeType.Element:
                ret += dec.beforeStartElement();
                ret += node.Name;
                if (node.Attributes != null)
                {
                    foreach (XmlNode attr in node.Attributes)
                    {
                        Console.WriteLine("attr.Name = [" + attr.Name + "]");
                        Console.WriteLine("attr.Value = [" + attr.Value + "]");
                        ret += dec.beforeAttributeName();
                        ret += attr.Name;
                        ret += dec.afterAttributeName();
                        ret += "=";
                        ret += dec.beforeAttributeValue();
                        ret += dec.AttributeQuote();
                        ret += attr.Value;
                        ret += dec.AttributeQuote();
                        ret += dec.afterAttributeValue();
                    }
                }
                ret += dec.afterStartElement();
                break;

            case XmlNodeType.Text:
                ret += node.Value;
                break;

            default:
                break;
            }
            return(ret);
        }
Esempio n. 5
0
        private string findAllNodes(IXMLNodeDecorator dec, XmlNode node)
        {
            string ret = "";

            Console.WriteLine("node.NodeType = [" + node.NodeType + "]");
            Console.WriteLine("node.Name = [" + node.Name + "]");
            Console.WriteLine("node.Value = [" + node.Value + "]");

            ret += printNodeTagStart(dec, node);
            foreach (XmlNode n in node.ChildNodes)
            {
                ret += findAllNodes(dec, n);
            }
            ret += printNodeTagEnd(dec, node);

            return(ret);
        }
Esempio n. 6
0
        private string printNodeTagEnd(IXMLNodeDecorator dec, XmlNode node)
        {
            string ret = "";

            // end tag or end element
            switch (node.NodeType)
            {
            case XmlNodeType.Element:
                ret += dec.beforeEndElement();
                ret += node.Name;
                ret += dec.afterEndElement();
                break;

            default:
                break;
            }
            return(ret);
        }
 public AttrSingleQuoteXMLNodeDecorator(IXMLNodeDecorator dec)
     : this()
 {
     this.dec_ = dec;
 }
 public BaseXMLNodeDecorator()
 {
     this.dec_ = new RootDecorator();
 }