示例#1
0
        public XPathExpr GetGroupMembers(PSMComponent component, bool useCurrentInstanceVariable)
        {
            List <PSMComponent> groupMembers = new List <PSMComponent>();

            AddGroupMembersRecursive(component, ref groupMembers);

            List <XPathExpr> result = new List <XPathExpr>();

            foreach (PSMComponent psmComponent in groupMembers)
            {
                if (!psmComponent.ExistsInVersion(this.OldVersion))
                {
                    continue;
                }
                result.Add(this.GetRelativeXPath(psmComponent, useCurrentInstanceVariable));
            }

            if (result.Count == 0)
            {
                return(new XPathExpr("()"));
            }
            else
            {
                return(XPathExpr.ConcatWithPipeOperator(result));
            }
        }
示例#2
0
        public XPathExpr GetGroupDistinguisher(IEnumerable <PSMComponent> expandedReference)
        {
            IEnumerable <XPathExpr> result = from component in expandedReference select GetGroupDistinguisher(component);

            return(XPathExpr.ConcatWithPipeOperator(result));
        }
示例#3
0
        public XPathExpr GetRelativeXPath(IEnumerable <PSMComponent> expandedReference, bool useCurrentInstanceVariable)
        {
            IEnumerable <XPathExpr> result = from component in expandedReference select GetRelativeXPath(component, useCurrentInstanceVariable);

            return(XPathExpr.ConcatWithPipeOperator(result));
        }