Example #1
0
        public void StartFocus(IList <QilNode> args, XslFlags flags)
        {
            Debug.Assert(!IsFocusSet, "Focus was already set");
            int argNum = 0;

            if ((flags & XslFlags.Current) != 0)
            {
                _current = (QilParameter)args[argNum++];
                Debug.Assert(_current.Name.NamespaceUri == XmlReservedNs.NsXslDebug && _current.Name.LocalName == "current");
            }
            if ((flags & XslFlags.Position) != 0)
            {
                _position = (QilParameter)args[argNum++];
                Debug.Assert(_position.Name.NamespaceUri == XmlReservedNs.NsXslDebug && _position.Name.LocalName == "position");
            }
            if ((flags & XslFlags.Last) != 0)
            {
                _last = (QilParameter)args[argNum++];
                Debug.Assert(_last.Name.NamespaceUri == XmlReservedNs.NsXslDebug && _last.Name.LocalName == "last");
            }
            _isSet = true;
        }
Example #2
0
 public void StartFocus(IList<QilNode> args, XslFlags flags)
 {
     Debug.Assert(!IsFocusSet, "Focus was already set");
     int argNum = 0;
     if ((flags & XslFlags.Current) != 0)
     {
         _current = (QilParameter)args[argNum++];
         Debug.Assert(_current.Name.NamespaceUri == XmlReservedNs.NsXslDebug && _current.Name.LocalName == "current");
     }
     if ((flags & XslFlags.Position) != 0)
     {
         _position = (QilParameter)args[argNum++];
         Debug.Assert(_position.Name.NamespaceUri == XmlReservedNs.NsXslDebug && _position.Name.LocalName == "position");
     }
     if ((flags & XslFlags.Last) != 0)
     {
         _last = (QilParameter)args[argNum++];
         Debug.Assert(_last.Name.NamespaceUri == XmlReservedNs.NsXslDebug && _last.Name.LocalName == "last");
     }
     _isSet = true;
 }
Example #3
0
 private IList<XslNode> AddRemoveImplicitArgs(IList<XslNode> args, XslFlags flags)
 {
     //We currently don't reuse the same argument list. So remove is not needed and will not work in this code
     if (IsDebug)
     {
         flags = XslFlags.FullFocus;
     }
     if ((flags & XslFlags.FocusFilter) != 0)
     {
         if (args == null || args.IsReadOnly)
         {
             args = new List<XslNode>(3);
         }
         int pos = 0;
         if ((flags & XslFlags.Current) != 0) { SetArg(args, pos++, _nameCurrent, GetCurrentNode()); }
         if ((flags & XslFlags.Position) != 0) { SetArg(args, pos++, _namePosition, GetCurrentPosition()); }
         if ((flags & XslFlags.Last) != 0) { SetArg(args, pos++, _nameLast, GetLastPosition()); }
     }
     return args;
 }