protected override void Visit(EndElementNode node)
 {
     if (NameUtility.IsMatch("include", "http://www.w3.org/2001/XInclude", node.Name, node.Namespace, base.Context.Namespaces))
     {
         int num;
         if ((base.FrameData.Mode != Mode.FailedInclude) && (base.FrameData.Mode != Mode.SuccessfulInclude))
         {
             throw new CompilerException("Unexpected </include> element");
         }
         Frame frameData = base.FrameData;
         frameData.RedundantDepth = (num = frameData.RedundantDepth) - 1;
         if (num == 0)
         {
             this.EndInclude();
         }
     }
     else if (NameUtility.IsMatch("fallback", "http://www.w3.org/2001/XInclude", node.Name, node.Namespace, base.Context.Namespaces))
     {
         int num2;
         if ((base.FrameData.Mode != Mode.NormalContent) && (base.FrameData.Mode != Mode.IgnoringFallback))
         {
             throw new CompilerException("Unexpected </fallback> element");
         }
         Frame local2 = base.FrameData;
         local2.RedundantDepth = (num2 = local2.RedundantDepth) - 1;
         if (num2 == 0)
         {
             this.EndFallback();
         }
     }
     else
     {
         base.Visit(node);
     }
 }
Ejemplo n.º 2
0
 protected override void Visit(EndElementNode node)
 {
     if (NameUtility.IsMatch("include", Constants.XIncludeNamespace, node.Name, node.Namespace, Context.Namespaces))
     {
         if (FrameData.Mode != Mode.FailedInclude &&
             FrameData.Mode != Mode.SuccessfulInclude)
         {
             throw new CompilerException("Unexpected </include> element");
         }
         if (FrameData.RedundantDepth-- == 0)
         {
             EndInclude();
         }
         return;
     }
     if (NameUtility.IsMatch("fallback", Constants.XIncludeNamespace, node.Name, node.Namespace, Context.Namespaces))
     {
         if (FrameData.Mode != Mode.NormalContent &&
             FrameData.Mode != Mode.IgnoringFallback)
         {
             throw new CompilerException("Unexpected </fallback> element");
         }
         if (FrameData.RedundantDepth-- == 0)
         {
             EndFallback();
         }
         return;
     }
     base.Visit(node);
 }
Ejemplo n.º 3
0
 protected override void Visit(EndElementNode node)
 {
     if (_extensionNodes.Count > 0 &&
         string.Equals(node.Name, _extensionNodes.Peek().Element.Name))
     {
         _nodes = _stack.Pop();
         _extensionNodes.Pop();
     }
     else if (IsContainingElement(node.Name, node.Namespace))
     {
         PopSpecial(node.Name);
     }
     else if (IsNonContainingElement(node.Name, node.Namespace))
     {
         // non-contining names are explicitly self-closing
     }
     else if (IsPartialFileElement(node.Name, node.Namespace))
     {
         PopSpecial("use");
     }
     else
     {
         Add(node);
     }
 }
Ejemplo n.º 4
0
 protected override void Visit(EndElementNode endElement)
 {
     if (FrameData.Binding != null && FrameData.Binding.ElementName == endElement.Name)
     {
         if (FrameData.RedundantDepth-- == 0)
         {
             EndBinding();
             return;
         }
     }
     base.Visit(endElement);
 }
Ejemplo n.º 5
0
 protected override void Visit(EndElementNode node)
 {
     ApplyNamespaces(node);
     if (node.Name == FrameData.ElementName)
     {
         // remove frame once all expected close elements are passed
         if (FrameData.ElementNameDepth-- == 0)
         {
             PopFrame();
         }
     }
     base.Visit(node);
 }
Ejemplo n.º 6
0
 protected override void Visit(EndElementNode node)
 {
     this.Nodes.Add(node);
     if (string.Equals(node.Name, base.FrameData.ClosingName))
     {
         Frame frameData = base.FrameData;
         frameData.ClosingNameOutstanding--;
         if (base.FrameData.ClosingNameOutstanding == 0)
         {
             base.PopFrame();
         }
     }
 }
Ejemplo n.º 7
0
        protected override void Visit(EndElementNode node)
        {
            Nodes.Add(node);

            if (string.Equals(node.Name, FrameData.ClosingName))
            {
                --FrameData.ClosingNameOutstanding;
                if (FrameData.ClosingNameOutstanding == 0)
                {
                    PopFrame();
                }
            }
        }
Ejemplo n.º 8
0
        private void ApplyNamespaces(EndElementNode node)
        {
            var colonIndex = node.Name.IndexOf(':');

            if (colonIndex > 0)
            {
                var    prefix = node.Name.Substring(0, colonIndex);
                string ns;
                if (FrameData.Nametable.TryGetValue(prefix, out ns))
                {
                    node.Namespace = ns;
                }
            }
        }
        private void ApplyNamespaces(EndElementNode node)
        {
            int index = node.Name.IndexOf(':');

            if (index > 0)
            {
                string str2;
                string key = node.Name.Substring(0, index);
                if (base.FrameData.Nametable.TryGetValue(key, out str2))
                {
                    node.Namespace = str2;
                }
            }
        }
Ejemplo n.º 10
0
        void Visit(EndElementNode endElementNode)
        {
            if (string.Equals(sectionName, endElementNode.Name))
            {
                --sectionDepth;
                if (sectionDepth == 0)
                {
                    sectionName = null;
                    chunkBuilderVisitor.Chunks = bodyChunks;
                    return;
                }
            }

            chunkBuilderVisitor.Accept(endElementNode);
        }
Ejemplo n.º 11
0
 protected override void Visit(EndElementNode endElement)
 {
     if ((base.FrameData.Binding != null) && (base.FrameData.Binding.ElementName == endElement.Name))
     {
         int   num;
         Frame frameData = base.FrameData;
         frameData.RedundantDepth = (num = frameData.RedundantDepth) - 1;
         if (num == 0)
         {
             this.EndBinding();
             return;
         }
     }
     base.Visit(endElement);
 }
 protected override void Visit(EndElementNode node)
 {
     this.ApplyNamespaces(node);
     if (node.Name == base.FrameData.ElementName)
     {
         int   num;
         Frame frameData = base.FrameData;
         frameData.ElementNameDepth = (num = frameData.ElementNameDepth) - 1;
         if (num == 0)
         {
             base.PopFrame();
         }
     }
     base.Visit(node);
 }
Ejemplo n.º 13
0
 protected override void Visit(EndElementNode endElementNode)
 {
     if (string.Equals(sectionName, endElementNode.Name))
     {
         --sectionDepth;
         if (sectionDepth == 0)
         {
             sectionName = null;
             Chunks      = new List <Chunk>();
         }
     }
     else
     {
         base.Visit(endElementNode);
     }
 }
Ejemplo n.º 14
0
 protected override void Visit(EndElementNode node)
 {
     if (string.Equals(node.Name, FrameData.OriginalElementName))
     {
         // replace matching </foo:blah> with </foo>
         Nodes.Add(new EndElementNode(FrameData.Specs.ElementName)
         {
             Namespace = Constants.Namespace
         });
         PopFrame();
     }
     else
     {
         base.Visit(node);
     }
 }
 protected override void Visit(EndElementNode node)
 {
     if (string.Equals(node.Name, base.FrameData.OriginalElementName))
     {
         EndElementNode item = new EndElementNode(base.FrameData.Specs.ElementName)
         {
             Namespace = "http://sparkviewengine.com/"
         };
         this.Nodes.Add(item);
         base.PopFrame();
     }
     else
     {
         base.Visit(node);
     }
 }
 protected override void Visit(EndElementNode node)
 {
     if ((this._extensionNodes.Count > 0) && string.Equals(node.Name, this._extensionNodes.Peek().Element.Name))
     {
         this._nodes = this._stack.Pop();
         this._extensionNodes.Pop();
     }
     else if (this.IsContainingElement(node.Name, node.Namespace))
     {
         this.PopSpecial(node.Name);
     }
     else if (!this.IsNonContainingElement(node.Name, node.Namespace))
     {
         if (this.IsPartialFileElement(node.Name, node.Namespace))
         {
             this.PopSpecial("use");
         }
         else
         {
             this.Add(node);
         }
     }
 }
Ejemplo n.º 17
0
 protected abstract void Visit(EndElementNode node);
Ejemplo n.º 18
0
 protected override void Visit(EndElementNode endElementNode)
 {
 }
 protected override void Visit(EndElementNode node)
 {
     this.Nodes.Add(node);
 }
Ejemplo n.º 20
0
 protected override void Visit(EndElementNode node)
 {
     AddLiteral(node.PreceedingWhitespace + "</" + node.Name + ">");
 }
Ejemplo n.º 21
0
 protected override void Visit(EndElementNode endElementNode)
 {
     if (string.Equals(sectionName, endElementNode.Name))
     {
         --sectionDepth;
         if (sectionDepth == 0)
         {
             sectionName = null;
             Chunks = new List<Chunk>();
         }
     }
     else
     {
         base.Visit(endElementNode);
     }
 }
Ejemplo n.º 22
0
 protected override void Visit(EndElementNode endElementNode)
 {
 }