MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
item_xmlfunc.h
1 #ifndef ITEM_XMLFUNC_INCLUDED
2 #define ITEM_XMLFUNC_INCLUDED
3 
4 /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; version 2 of the License.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software Foundation,
17  51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
18 
19 
20 /* This file defines all XML functions */
21 
23 {
24 protected:
25  String tmp_value, pxml;
26  Item *nodeset_func;
27 public:
28  Item_xml_str_func(Item *a, Item *b):
29  Item_str_func(a,b)
30  {
31  maybe_null= TRUE;
32  }
33  Item_xml_str_func(Item *a, Item *b, Item *c):
34  Item_str_func(a,b,c)
35  {
36  maybe_null= TRUE;
37  }
38  void fix_length_and_dec();
39  String *parse_xml(String *raw_xml, String *parsed_xml_buf);
40 
41 protected:
51  void parse_xpath(Item* xpath_expr);
52 };
53 
54 
56 {
57 public:
59  const char *func_name() const { return "extractvalue"; }
60  String *val_str(String *);
61 };
62 
63 
65 {
66  String tmp_value2, tmp_value3;
67 public:
69  const char *func_name() const { return "updatexml"; }
70  String *val_str(String *);
71 };
72 
73 #endif /* ITEM_XMLFUNC_INCLUDED */