11#include " helper.hpp"
22
3- std::wstring xmlCharToWideString (const xmlChar *xmlString) {
4- if (!xmlString) {
5- PLOGF << " provided string was null" ;
6- abort ();
7- }// provided string was null
8- try {
9- std::wstring_convert<std::codecvt_utf8<wchar_t >, wchar_t > conv;
10- return conv.from_bytes ((const char *) xmlString);
11- } catch (const std::range_error &e) {
12- PLOGF << e.what ();
13- abort ();// wstring_convert failed
14- }
15- }
16-
173std::wstring s2ws (const std::string &str) {
184 using convert_typeX = std::codecvt_utf8<wchar_t >;
195 std::wstring_convert<convert_typeX, wchar_t > converterX;
20-
216 return converterX.from_bytes (str);
227}
238
@@ -28,6 +13,19 @@ std::string ws2s(const std::wstring &wstr) {
2813 return converterX.to_bytes (wstr);
2914}
3015
16+ std::wstring xmlCharToWideString (const xmlChar *xmlString) {
17+ if (!xmlString) {
18+ PLOGF << " provided string was null" ;
19+ abort ();
20+ }
21+ try {
22+ return s2ws ((const char *) xmlString);
23+ } catch (const std::exception &e) {
24+ PLOGF << e.what ();
25+ abort ();// wstring_convert failed
26+ }
27+ }
28+
3129std::wstring getXPath (xmlNodePtr node) {
3230 auto internal_str = xmlGetNodePath (node);
3331 std::wstring rval = xmlCharToWideString (internal_str);
@@ -78,7 +76,7 @@ std::wstring getDefNameFromXPath(xmlDocPtr doc, const std::wstring &node_xpath)
7876 return L" " ;
7977}
8078
81- std::wstring getliParentTagName (const std::wstring &xpath_containing_li) {
79+ std::wstring get_li_parent_tag_name (const std::wstring &xpath_containing_li) {
8280 std::wregex li_pattern (L" /(\\ w*)/li(\\ [|/)" );
8381 std::wsmatch li_match;
8482 if (std::regex_search (xpath_containing_li, li_match, li_pattern)) {
@@ -87,7 +85,7 @@ std::wstring getliParentTagName(const std::wstring &xpath_containing_li) {
8785 throw std::runtime_error (" Invalid xpath: no li found" );
8886}
8987
90- bool getliNumber (const std::wstring &xpath_containing_li, long *result) {
88+ bool get_li_number (const std::wstring &xpath_containing_li, long *result) {
9189 std::wregex li_number_pattern (LR"( /\w*/li\[(\d*)\]/)" );
9290 std::wsmatch li_match;
9391 if (std::regex_search (xpath_containing_li, li_match, li_number_pattern)) {
0 commit comments