diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2014-05-08 12:47:35 -0700 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2014-05-08 12:47:35 -0700 |
commit | c86af7c94b9dc4e378a6f87b5cab3b7a571c9961 (patch) | |
tree | 3caeb224bad01642cdfba81c55c1961f8aef577d /xml/parser.ixx | |
parent | ed23e3d3ca8b6780eef9ea0f04da978ccc885173 (diff) |
Add parser::next_expect() version that also sets content model
Diffstat (limited to 'xml/parser.ixx')
-rw-r--r-- | xml/parser.ixx | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/xml/parser.ixx b/xml/parser.ixx index 9041b0c..e58d2cf 100644 --- a/xml/parser.ixx +++ b/xml/parser.ixx @@ -90,13 +90,39 @@ namespace xml inline void parser:: next_expect (event_type e, const qname_type& qn) { - return next_expect (e, qn.namespace_ (), qn.name ()); + next_expect (e, qn.namespace_ (), qn.name ()); } inline void parser:: next_expect (event_type e, const std::string& n) { - return next_expect (e, std::string (), n); + next_expect (e, std::string (), n); + } + + inline void parser:: + next_expect (event_type e, const qname_type& qn, content_type c) + { + next_expect (e, qn); + assert (e == start_element); + content (c); + } + + inline void parser:: + next_expect (event_type e, const std::string& n, content_type c) + { + next_expect (e, std::string (), n); + assert (e == start_element); + content (c); + } + + inline void parser:: + next_expect (event_type e, + const std::string& ns, const std::string& n, + content_type c) + { + next_expect (e, ns, n); + assert (e == start_element); + content (c); } inline const parser::element_entry* parser:: |