dbertoni    2002/09/06 17:43:48

  Modified:    c/src/XPath XPathFunctionTable.cpp XPathFunctionTable.hpp
  Log:
  New static strings.
  
  Revision  Changes    Path
  1.19      +427 -0    xml-xalan/c/src/XPath/XPathFunctionTable.cpp
  
  Index: XPathFunctionTable.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFunctionTable.cpp,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- XPathFunctionTable.cpp    6 Sep 2002 05:07:34 -0000       1.18
  +++ XPathFunctionTable.cpp    7 Sep 2002 00:43:48 -0000       1.19
  @@ -184,6 +184,87 @@
   }
   
   
  +#if 0
  +#include <fstream>
  +
  +void
  +dumpTable(
  +                     const XPathFunctionTable::FunctionNameIndexMapType&     
        theTable,
  +                     std::ostream&                                           
                                        theSourceStream,
  +                     std::ostream&                                           
                                        theHeaderStream)
  +{
  +     XPathFunctionTable::FunctionNameIndexMapType::const_iterator    i = 
theTable.begin();
  +
  +     while(i != theTable.end())
  +     {
  +             theSourceStream << "const XalanDOMChar\tXPathFunctionTable::s_";
  +
  +             const XalanDOMString&   theString = (*i).first;
  +
  +             theHeaderStream << "\t// The string \"" << theString << 
"\"\n\tstatic const XalanDOMChar\ts_";
  +
  +             bool    nextCap = false;
  +
  +             XalanDOMString::const_iterator  j = theString.begin();
  +
  +             while(*j)
  +             {
  +                     if (*j == '-')
  +                     {
  +                             nextCap = true;
  +                     }
  +                     else
  +                     {
  +                             assert(*j >= 'a' && *j <= 'z');
  +
  +                             if (nextCap)
  +                             {
  +                                     theSourceStream << char(*j -'a' + 'A');
  +                                     theHeaderStream << char(*j -'a' + 'A');
  +
  +                                     nextCap = false;
  +                             }
  +                             else
  +                             {
  +                                     theSourceStream << char(*j);
  +                                     theHeaderStream << char(*j);
  +                             }
  +                     }
  +
  +                     ++j;
  +             }
  +
  +             j = theString.begin();
  +
  +             theSourceStream << "[] =\n{\n";
  +             theHeaderStream << "[];\n\n";
  +
  +             while(*j)
  +             {
  +                     if (*j == '-')
  +                     {
  +                             theSourceStream << 
"\tXalanUnicode::charHyphenMinus,\n";
  +                     }
  +                     else
  +                     {
  +                             assert(*j >= 'a' && *j <= 'z');
  +
  +                             theSourceStream << 
"\tXalanUnicode::charLetter_";
  +
  +                             theSourceStream << char(*j) << ",\n";
  +                     }
  +
  +                     ++j;
  +             }
  +
  +             theSourceStream << "\t0\n};\n\n";
  +
  +             ++i;
  +     }
  +}
  +#endif
  +
  +
   
   void
   XPathFunctionTable::CreateTable()
  @@ -272,6 +353,12 @@
   
                
InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("round")),
                                                FunctionRound());
  +#if 0
  +             std::ofstream   theSourceStream("\\foo.cpp");
  +             std::ofstream   theHeaderStream("\\foo.hpp");
  +
  +             dumpTable(m_FunctionNameIndex, theSourceStream, 
theHeaderStream);
  +#endif
        }
        catch(...)
        {
  @@ -346,3 +433,343 @@
   XPathExceptionFunctionNotAvailable::~XPathExceptionFunctionNotAvailable()
   {
   }
  +
  +
  +
  +const XalanDOMChar   XPathFunctionTable::s_id[] =
  +{
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_d,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_not[] =
  +{
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_t,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_sum[] =
  +{
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_m,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_lang[] =
  +{
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_last[] =
  +{
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_t,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_name[] =
  +{
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_m,
  +     XalanUnicode::charLetter_e,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_true[] =
  +{
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_e,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_count[] =
  +{
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_t,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_false[] =
  +{
  +     XalanUnicode::charLetter_f,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_e,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_floor[] =
  +{
  +     XalanUnicode::charLetter_f,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_r,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_round[] =
  +{
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_d,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_concat[] =
  +{
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_t,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_number[] =
  +{
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_m,
  +     XalanUnicode::charLetter_b,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charLetter_r,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_string[] =
  +{
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_boolean[] =
  +{
  +     XalanUnicode::charLetter_b,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_n,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_ceiling[] =
  +{
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_contains[] =
  +{
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_s,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_position[] =
  +{
  +     XalanUnicode::charLetter_p,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_n,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_substring[] =
  +{
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_b,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_translate[] =
  +{
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_e,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_localName[] =
  +{
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charHyphenMinus,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_m,
  +     XalanUnicode::charLetter_e,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_startsWith[] =
  +{
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charHyphenMinus,
  +     XalanUnicode::charLetter_w,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_h,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_namespaceUri[] =
  +{
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_m,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_p,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charHyphenMinus,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_i,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_stringLength[] =
  +{
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     XalanUnicode::charHyphenMinus,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_h,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_normalizeSpace[] =
  +{
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_m,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_l,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_z,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charHyphenMinus,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_p,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_c,
  +     XalanUnicode::charLetter_e,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_substringAfter[] =
  +{
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_b,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     XalanUnicode::charHyphenMinus,
  +     XalanUnicode::charLetter_a,
  +     XalanUnicode::charLetter_f,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charLetter_r,
  +     0
  +};
  +
  +const XalanDOMChar   XPathFunctionTable::s_substringBefore[] =
  +{
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_u,
  +     XalanUnicode::charLetter_b,
  +     XalanUnicode::charLetter_s,
  +     XalanUnicode::charLetter_t,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_i,
  +     XalanUnicode::charLetter_n,
  +     XalanUnicode::charLetter_g,
  +     XalanUnicode::charHyphenMinus,
  +     XalanUnicode::charLetter_b,
  +     XalanUnicode::charLetter_e,
  +     XalanUnicode::charLetter_f,
  +     XalanUnicode::charLetter_o,
  +     XalanUnicode::charLetter_r,
  +     XalanUnicode::charLetter_e,
  +     0
  +};
  
  
  
  1.17      +81 -0     xml-xalan/c/src/XPath/XPathFunctionTable.hpp
  
  Index: XPathFunctionTable.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFunctionTable.hpp,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- XPathFunctionTable.hpp    6 Sep 2002 05:07:34 -0000       1.16
  +++ XPathFunctionTable.hpp    7 Sep 2002 00:43:48 -0000       1.17
  @@ -342,6 +342,87 @@
        CollectionType                          m_FunctionCollection;
   
        FunctionNameIndexMapType        m_FunctionNameIndex;
  +
  +     // The string "id"
  +     static const XalanDOMChar       s_id[];
  +
  +     // The string "not"
  +     static const XalanDOMChar       s_not[];
  +
  +     // The string "sum"
  +     static const XalanDOMChar       s_sum[];
  +
  +     // The string "lang"
  +     static const XalanDOMChar       s_lang[];
  +
  +     // The string "last"
  +     static const XalanDOMChar       s_last[];
  +
  +     // The string "name"
  +     static const XalanDOMChar       s_name[];
  +
  +     // The string "true"
  +     static const XalanDOMChar       s_true[];
  +
  +     // The string "count"
  +     static const XalanDOMChar       s_count[];
  +
  +     // The string "false"
  +     static const XalanDOMChar       s_false[];
  +
  +     // The string "floor"
  +     static const XalanDOMChar       s_floor[];
  +
  +     // The string "round"
  +     static const XalanDOMChar       s_round[];
  +
  +     // The string "concat"
  +     static const XalanDOMChar       s_concat[];
  +
  +     // The string "number"
  +     static const XalanDOMChar       s_number[];
  +
  +     // The string "string"
  +     static const XalanDOMChar       s_string[];
  +
  +     // The string "boolean"
  +     static const XalanDOMChar       s_boolean[];
  +
  +     // The string "ceiling"
  +     static const XalanDOMChar       s_ceiling[];
  +
  +     // The string "contains"
  +     static const XalanDOMChar       s_contains[];
  +
  +     // The string "position"
  +     static const XalanDOMChar       s_position[];
  +
  +     // The string "substring"
  +     static const XalanDOMChar       s_substring[];
  +
  +     // The string "translate"
  +     static const XalanDOMChar       s_translate[];
  +
  +     // The string "local-name"
  +     static const XalanDOMChar       s_localName[];
  +
  +     // The string "starts-with"
  +     static const XalanDOMChar       s_startsWith[];
  +
  +     // The string "namespace-uri"
  +     static const XalanDOMChar       s_namespaceUri[];
  +
  +     // The string "string-length"
  +     static const XalanDOMChar       s_stringLength[];
  +
  +     // The string "normalize-space"
  +     static const XalanDOMChar       s_normalizeSpace[];
  +
  +     // The string "substring-after"
  +     static const XalanDOMChar       s_substringAfter[];
  +
  +     // The string "substring-before"
  +     static const XalanDOMChar       s_substringBefore[];
   };
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to