Beispiel #1
0
        //============================================================================
        /// <summary>
        /// Reads the fields/elements from the SDML value.
        /// </summary>
        //============================================================================
        protected override void getFldElemList()
        {
            TSDMLValue newMember;
            XmlNode    memberNode;
            XmlNode    valNode;
            String     strVal;

            //builds the child list using the parent's parser and just shifts the
            //parser's topElement domnode respectively.
            memberNode = parser.firstMember(parser.rootNode()); //looks for <element> or <field> children

            //while more <element> or <field> children
            while (memberNode != null)
            {
                newMember = new TSDMLValue(parser, memberNode, "");
                FMembers.Add(newMember); //add to the list of children

                memberNode = parser.nextMember(memberNode);
            }

            //----------------------------------------------------------------
            //Scalar arrays may have values as a list of <val> elements
            if (FIsArray && (FBaseType != TTypedValue.TBaseType.ITYPE_DEF) && (count() == 0))
            {
                valNode = parser.firstElementChild(parser.rootNode(), "val");
                while (valNode != null)               //for each <val> node
                {
                    strVal = parser.getText(valNode); //get the string from the <val></val>
                    //create a child of the parent's type with this value
                    newMember = (TSDMLValue)addScalar("", FBaseType);
                    newMember.setValue(strVal);
                    valNode = parser.nextElementSibling(valNode, "val");
                } //next <val>
            }
        }
Beispiel #2
0
        //============================================================================
        /// <summary>
        /// Builds the list of children typed values.
        /// </summary>
        //============================================================================
        protected override void getFldElemList()
        {
            TDDMLValue newMember;
            XmlNode    memberNode;

            //builds the child list using the parent's parser and just shifts the
            //parser's topElement domnode respectively.
            memberNode = parser.firstMember(parser.rootNode());
            while (memberNode != null)
            {
                newMember = new TDDMLValue(parser, memberNode, "");
                FMembers.Add(newMember);  //add to the list of children

                memberNode = parser.nextMember(memberNode);
            }
        }
Beispiel #3
0
        //============================================================================
        /// <summary>
        /// Finds children nodes in the XML doc and creates member items of this type.
        /// </summary>
        //============================================================================
        protected override void getFldElemList()
        {
            TInitValue newMember;
            XmlNode    memberNode;
            string     buf;

            //builds the child list using the parent's parser and just shifts the
            //parser's topElement domnode respectively.
            memberNode = parser.firstMember(parser.rootNode());
            while (memberNode != null)
            {
                newMember = new TInitValue(parser, memberNode, "");
                buf       = parser.getAttrValue(memberNode, "descr");
                newMember.setDescr(buf, 512);
                FMembers.Add(newMember);    //add to the list of children

                memberNode = parser.nextMember(memberNode);
            }

            if (FIsArray && (FBaseType != TTypedValue.TBaseType.ITYPE_DEF))
            {
                makeDefaultAndRange();
            }
        }