libzeep

PrevUpHomeNext

Class tag_processor_v2

zeep::http::tag_processor_v2 — version two of the tag_processor in libzeep

Synopsis

// In header: <zeep/http/tag-processor.hpp>


class tag_processor_v2 : public  {
public:
  // types
  typedef xml::element *, xml::attribute *, scope &, basic_template_processor & ;

  // each handler returns a code telling the processor what to do with the node 
  enum AttributeAction { none, remove, replace };

  // construct/copy/destruct
  ( = );

  // public static functions
   ();

  // public member functions
   
  (xml::node *, scope &, , 
              basic_template_processor &);
   (, );

  // protected member functions
   (xml::node *, scope &, , 
                    basic_template_processor &);
   (xml::text &, scope &);
   (xml::element *, scope &, , 
                    basic_template_processor &);
  xml::node > > 
  (xml::element *, , 
                        basic_template_processor &, json::element &, 
                        scope &);
  xml::node > > 
  (xml::element *, , 
                        basic_template_processor &, , 
                        , );
   
  (xml::element *, xml::attribute *, scope &, 
                  , basic_template_processor &, );
   
  (xml::element *, xml::attribute *, scope &, 
                      , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                    , basic_template_processor &, );
   
  (xml::element *, xml::attribute *, scope &, 
                      , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                    , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                    , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                    , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                       , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                             , 
                             basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                      , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                      , basic_template_processor &, 
                      , );
   
  (xml::element *, xml::attribute *, scope &, 
                           , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                           , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                      , basic_template_processor &);
   
  (xml::element *, xml::attribute *, scope &, 
                       , basic_template_processor &, 
                       );
};

Description

This is the new tag_processor. It is designed to look a bit like Thymeleaf (https://www.thymeleaf.org/) This processor works on attributes mostly, but can process inline el constructs as well.

The documentention contains a section describing all the xml tags and attributes this processor handles.

tag_processor_v2 public construct/copy/destruct

  1. ( ns = );
    constructor with default namespace

tag_processor_v2 public static functions

  1.  ();
    default namespace for this processor

tag_processor_v2 public member functions

  1.  
    (xml::node * node, scope & scope,  dir, 
                basic_template_processor & loader);
    process xml parses the XHTML and fills in the special tags and evaluates the el constructs
  2.  ( attr,  handler);
    It is possible to extend this processor with custom handlers.

tag_processor_v2 protected member functions

  1.  (xml::node * node, scope & scope, 
                       dir, 
                      basic_template_processor & loader);
  2.  (xml::text & t, scope & scope);
  3.  (xml::element * e, scope & parentScope, 
                       dir, 
                      basic_template_processor & loader);
  4. xml::node > > 
    (xml::element * node,  dir, 
                          basic_template_processor & loader, 
                          json::element & spec, scope & scope);
  5. xml::node > > 
    (xml::element * node,  dir, 
                          basic_template_processor & loader, 
                           file,  selector, 
                           byID);
  6.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                     dir, basic_template_processor & loader, 
                     unless);
  7.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                         dir, 
                        basic_template_processor & loader);
  8.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                       dir, 
                      basic_template_processor & loader,  escaped);
  9.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                         dir, 
                        basic_template_processor & loader);
  10.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                       dir, 
                      basic_template_processor & loader);
  11.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                       dir, 
                      basic_template_processor & loader);
  12.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                       dir, 
                      basic_template_processor & loader);
  13.  
    (xml::element * node, xml::attribute * attr, 
                         scope & scope,  dir, 
                         basic_template_processor & loader);
  14.  
    (xml::element * node, xml::attribute * attr, 
                               scope & scope,  dir, 
                               basic_template_processor & loader);
  15.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                         dir, 
                        basic_template_processor & loader);
  16.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                         dir, 
                        basic_template_processor & loader,  dest, 
                         prepend);
  17.  
    (xml::element * node, xml::attribute * attr, 
                             scope & scope,  dir, 
                             basic_template_processor & loader);
  18.  
    (xml::element * node, xml::attribute * attr, 
                             scope & scope,  dir, 
                             basic_template_processor & loader);
  19.  
    (xml::element * node, xml::attribute * attr, scope & scope, 
                         dir, 
                        basic_template_processor & loader);
  20.  
    (xml::element * node, xml::attribute * attr, 
                         scope & scope,  dir, 
                         basic_template_processor & loader, 
                          tia);

PrevUpHomeNext