From 441be1bbf20b38a60744054b2072a136d2bba773 Mon Sep 17 00:00:00 2001 From: jez Date: Sun, 3 Aug 2008 17:11:27 +0100 Subject: [PATCH] attribute and elements now form there own variable scope. --- include/XSLT/impl/xslt_attribute.hpp | 1 + include/XSLT/impl/xslt_element.hpp | 1 + include/XSLT/impl/xslt_inline_element.hpp | 1 + 3 files changed, 3 insertions(+) diff --git a/include/XSLT/impl/xslt_attribute.hpp b/include/XSLT/impl/xslt_attribute.hpp index 665e7f00..5775e409 100755 --- a/include/XSLT/impl/xslt_attribute.hpp +++ b/include/XSLT/impl/xslt_attribute.hpp @@ -50,6 +50,7 @@ public: } // if ... context.sink().start_attribute(name, namesp); + ChainStackFrame frame(context); execute_children(node, context); context.sink().end_attribute(); } // execute diff --git a/include/XSLT/impl/xslt_element.hpp b/include/XSLT/impl/xslt_element.hpp index a60eeba9..af34c2ef 100755 --- a/include/XSLT/impl/xslt_element.hpp +++ b/include/XSLT/impl/xslt_element.hpp @@ -55,6 +55,7 @@ public: if(context.sink().start_element(name, namesp)) { + ChainStackFrame frame(context); execute_children(node, context); context.sink().end_element(name, namesp); } diff --git a/include/XSLT/impl/xslt_inline_element.hpp b/include/XSLT/impl/xslt_inline_element.hpp index 70d2b555..e792b196 100644 --- a/include/XSLT/impl/xslt_inline_element.hpp +++ b/include/XSLT/impl/xslt_inline_element.hpp @@ -70,6 +70,7 @@ public: for(std::vector::const_iterator a = attrs_.begin(), ae = attrs_.end(); a != ae; ++a) a->execute(node, context); + ChainStackFrame frame(context); execute_children(node, context); context.sink().end_element(name_, namespace_); }