summaryrefslogtreecommitdiff
path: root/modules/xml/src
diff options
context:
space:
mode:
Diffstat (limited to 'modules/xml/src')
-rwxr-xr-xmodules/xml/src/c/.deps/.dirstamp0
-rwxr-xr-xmodules/xml/src/c/.deps/libscixml_algo_la-XMLMlistsManagement.Plo280
-rwxr-xr-xmodules/xml/src/c/.dirstamp0
-rwxr-xr-xmodules/xml/src/c/.libs/libscixml_algo_la-XMLMlistsManagement.obin0 -> 21552 bytes
-rwxr-xr-xmodules/xml/src/c/DllmainXml.c35
-rwxr-xr-xmodules/xml/src/c/XMLMlistsManagement.c300
-rwxr-xr-xmodules/xml/src/c/libscixml_algo_la-XMLMlistsManagement.lo12
-rwxr-xr-xmodules/xml/src/c/xml.rc96
-rwxr-xr-xmodules/xml/src/cpp/.deps/.dirstamp0
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-VariableScope.Plo515
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLAttr.Plo535
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLDocument.Plo558
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLElement.Plo541
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLList.Plo473
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeList.Plo539
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeSet.Plo545
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLNotHandledElement.Plo510
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLNs.Plo514
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLObject.Plo481
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidation.Plo500
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationDTD.Plo551
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationRelaxNG.Plo554
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationSchema.Plo554
-rwxr-xr-xmodules/xml/src/cpp/.deps/libscixml_algo_la-XMLXPath.Plo537
-rwxr-xr-xmodules/xml/src/cpp/.dirstamp0
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-VariableScope.obin0 -> 569352 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLAttr.obin0 -> 198056 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLDocument.obin0 -> 353240 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLElement.obin0 -> 270016 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLList.obin0 -> 129760 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeList.obin0 -> 160208 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeSet.obin0 -> 121992 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLNotHandledElement.obin0 -> 148320 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLNs.obin0 -> 157328 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLObject.obin0 -> 94792 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidation.obin0 -> 214032 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationDTD.obin0 -> 265680 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationRelaxNG.obin0 -> 215016 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationSchema.obin0 -> 267056 bytes
-rwxr-xr-xmodules/xml/src/cpp/.libs/libscixml_algo_la-XMLXPath.obin0 -> 109184 bytes
-rwxr-xr-xmodules/xml/src/cpp/SplitString.hxx51
-rwxr-xr-xmodules/xml/src/cpp/VariableScope.cpp266
-rwxr-xr-xmodules/xml/src/cpp/VariableScope.hxx138
-rwxr-xr-xmodules/xml/src/cpp/XMLAttr.cpp279
-rwxr-xr-xmodules/xml/src/cpp/XMLAttr.hxx176
-rwxr-xr-xmodules/xml/src/cpp/XMLDocument.cpp546
-rwxr-xr-xmodules/xml/src/cpp/XMLDocument.hxx235
-rwxr-xr-xmodules/xml/src/cpp/XMLElement.cpp333
-rwxr-xr-xmodules/xml/src/cpp/XMLElement.hxx203
-rwxr-xr-xmodules/xml/src/cpp/XMLList.cpp32
-rwxr-xr-xmodules/xml/src/cpp/XMLList.hxx119
-rwxr-xr-xmodules/xml/src/cpp/XMLList_insertion.hxx121
-rwxr-xr-xmodules/xml/src/cpp/XMLNodeList.cpp355
-rwxr-xr-xmodules/xml/src/cpp/XMLNodeList.hxx160
-rwxr-xr-xmodules/xml/src/cpp/XMLNodeSet.cpp157
-rwxr-xr-xmodules/xml/src/cpp/XMLNodeSet.hxx61
-rwxr-xr-xmodules/xml/src/cpp/XMLNotHandledElement.cpp57
-rwxr-xr-xmodules/xml/src/cpp/XMLNotHandledElement.hxx52
-rwxr-xr-xmodules/xml/src/cpp/XMLNs.cpp63
-rwxr-xr-xmodules/xml/src/cpp/XMLNs.hxx88
-rwxr-xr-xmodules/xml/src/cpp/XMLObject.cpp70
-rwxr-xr-xmodules/xml/src/cpp/XMLObject.hxx179
-rwxr-xr-xmodules/xml/src/cpp/XMLRemovable.hxx36
-rwxr-xr-xmodules/xml/src/cpp/XMLRhsValue.hxx138
-rwxr-xr-xmodules/xml/src/cpp/XMLValidation.cpp129
-rwxr-xr-xmodules/xml/src/cpp/XMLValidation.hxx105
-rwxr-xr-xmodules/xml/src/cpp/XMLValidationDTD.cpp176
-rwxr-xr-xmodules/xml/src/cpp/XMLValidationDTD.hxx58
-rwxr-xr-xmodules/xml/src/cpp/XMLValidationRelaxNG.cpp162
-rwxr-xr-xmodules/xml/src/cpp/XMLValidationRelaxNG.hxx51
-rwxr-xr-xmodules/xml/src/cpp/XMLValidationSchema.cpp189
-rwxr-xr-xmodules/xml/src/cpp/XMLValidationSchema.hxx51
-rwxr-xr-xmodules/xml/src/cpp/XMLXPath.cpp55
-rwxr-xr-xmodules/xml/src/cpp/XMLXPath.hxx57
-rwxr-xr-xmodules/xml/src/cpp/extraction.hxx301
-rwxr-xr-xmodules/xml/src/cpp/insertion.hxx253
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-VariableScope.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLAttr.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLDocument.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLElement.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLList.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLNodeList.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLNodeSet.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLNotHandledElement.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLNs.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLObject.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLValidation.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLValidationDTD.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLValidationRelaxNG.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLValidationSchema.lo12
-rwxr-xr-xmodules/xml/src/cpp/libscixml_algo_la-XMLXPath.lo12
91 files changed, 14312 insertions, 0 deletions
diff --git a/modules/xml/src/c/.deps/.dirstamp b/modules/xml/src/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/xml/src/c/.deps/.dirstamp
diff --git a/modules/xml/src/c/.deps/libscixml_algo_la-XMLMlistsManagement.Plo b/modules/xml/src/c/.deps/libscixml_algo_la-XMLMlistsManagement.Plo
new file mode 100755
index 000000000..6bf64c76f
--- /dev/null
+++ b/modules/xml/src/c/.deps/libscixml_algo_la-XMLMlistsManagement.Plo
@@ -0,0 +1,280 @@
+src/c/libscixml_algo_la-XMLMlistsManagement.lo: \
+ src/c/XMLMlistsManagement.c /usr/include/stdc-predef.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h
+
+/usr/include/stdc-predef.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/xml/src/c/.dirstamp b/modules/xml/src/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/xml/src/c/.dirstamp
diff --git a/modules/xml/src/c/.libs/libscixml_algo_la-XMLMlistsManagement.o b/modules/xml/src/c/.libs/libscixml_algo_la-XMLMlistsManagement.o
new file mode 100755
index 000000000..5c8c16bd8
--- /dev/null
+++ b/modules/xml/src/c/.libs/libscixml_algo_la-XMLMlistsManagement.o
Binary files differ
diff --git a/modules/xml/src/c/DllmainXml.c b/modules/xml/src/c/DllmainXml.c
new file mode 100755
index 000000000..22f6beba7
--- /dev/null
+++ b/modules/xml/src/c/DllmainXml.c
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <windows.h>
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../bin/libxml2.lib")
+#pragma comment(lib,"../../bin/libintl.lib")
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ case DLL_THREAD_ATTACH:
+ break;
+ case DLL_THREAD_DETACH:
+ break;
+ }
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/xml/src/c/XMLMlistsManagement.c b/modules/xml/src/c/XMLMlistsManagement.c
new file mode 100755
index 000000000..27d2b7e0b
--- /dev/null
+++ b/modules/xml/src/c/XMLMlistsManagement.c
@@ -0,0 +1,300 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012-2014 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "xml_mlist.h"
+#include "api_scilab.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+
+static const char *_XMLDoc[] = { "XMLDoc", "_id" };
+static const char *_XMLElem[] = { "XMLElem", "_id" };
+static const char *_XMLAttr[] = { "XMLAttr", "_id" };
+static const char *_XMLNs[] = { "XMLNs", "_id" };
+static const char *_XMLList[] = { "XMLList", "_id" };
+static const char *_XMLNotHandled[] = { "XMLNH", "_id" };
+static const char *_XMLSet[] = { "XMLSet", "_id" };
+static const char *_XMLValid[] = { "XMLValid", "_id" };
+
+static int getMListType(int * mlist, void * pvApiCtx);
+
+/*--------------------------------------------------------------------------*/
+int createXMLObjectAtPos(int type, int pos, int id, void *pvApiCtx)
+{
+ const char **fields = NULL;
+ int *mlistaddr = NULL;
+ SciErr err;
+
+ switch (type)
+ {
+ case XMLDOCUMENT:
+ ;
+ fields = _XMLDoc;
+ break;
+ case XMLELEMENT:
+ ;
+ fields = _XMLElem;
+ break;
+ case XMLATTRIBUTE:
+ ;
+ fields = _XMLAttr;
+ break;
+ case XMLNAMESPACE:
+ ;
+ fields = _XMLNs;
+ break;
+ case XMLLIST:
+ ;
+ fields = _XMLList;
+ break;
+ case XMLNOTHANDLED:
+ ;
+ fields = _XMLNotHandled;
+ break;
+ case XMLSET:
+ ;
+ fields = _XMLSet;
+ break;
+ case XMLVALID:
+ ;
+ fields = _XMLValid;
+ break;
+ }
+
+ err = createMList(pvApiCtx, pos, 2, &mlistaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+
+ err = createMatrixOfStringInList(pvApiCtx, pos, mlistaddr, 1, 1, 2, fields);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+
+ err = createMatrixOfInteger32InList(pvApiCtx, pos, mlistaddr, 2, 1, 1, &id);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+ return 1;
+}
+
+/*--------------------------------------------------------------------------*/
+int createXMLObjectAtPosInList(int *list, int stackPos, int type, int pos, int id, void *pvApiCtx)
+{
+ const char **fields = NULL;
+ int *mlistaddr = NULL;
+ SciErr err;
+
+ err = createMListInList(pvApiCtx, stackPos, list, pos, 2, &mlistaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+
+ switch (type)
+ {
+ case XMLDOCUMENT:
+ ;
+ fields = _XMLDoc;
+ break;
+ case XMLELEMENT:
+ ;
+ fields = _XMLElem;
+ break;
+ case XMLATTRIBUTE:
+ ;
+ fields = _XMLAttr;
+ break;
+ case XMLNAMESPACE:
+ ;
+ fields = _XMLNs;
+ break;
+ case XMLLIST:
+ ;
+ fields = _XMLList;
+ break;
+ case XMLNOTHANDLED:
+ ;
+ fields = _XMLNotHandled;
+ break;
+ case XMLSET:
+ ;
+ fields = _XMLSet;
+ break;
+ case XMLVALID:
+ ;
+ fields = _XMLValid;
+ break;
+ }
+
+ err = createMatrixOfStringInList(pvApiCtx, stackPos, mlistaddr, 1, 1, 2, fields);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+
+ err = createMatrixOfInteger32InList(pvApiCtx, stackPos, mlistaddr, 2, 1, 1, &id);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+
+ return 1;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLDoc(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLDOCUMENT;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLElem(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLELEMENT;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLAttr(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLATTRIBUTE;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLNs(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLNAMESPACE;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLList(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLLIST;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLNotHandled(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLNOTHANDLED;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLSet(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLSET;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLValid(int *mlist, void *pvApiCtx)
+{
+ return getMListType(mlist, pvApiCtx) == XMLVALID;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLObject(int *mlist, void *pvApiCtx)
+{
+ const int type = getMListType(mlist, pvApiCtx);
+ return type == XMLDOCUMENT || type == XMLELEMENT || type == XMLATTRIBUTE || type == XMLNAMESPACE || type == XMLLIST || type == XMLNOTHANDLED || type == XMLSET || type == XMLVALID;
+}
+
+/*--------------------------------------------------------------------------*/
+int isXMLObjects(const int * types, int nb, int *mlist, void *pvApiCtx)
+{
+ const int type = getMListType(mlist, pvApiCtx);
+ int i = 0;
+ for (; i < nb; i++)
+ {
+ if (type == types[i])
+ {
+ return i;
+ }
+ }
+
+ return -1;
+}
+/*--------------------------------------------------------------------------*/
+int getXMLObjectId(int *mlist, void *pvApiCtx)
+{
+ int *id = NULL;
+ int row, col;
+
+ SciErr err = getMatrixOfInteger32InList(pvApiCtx, mlist, 2, &row, &col, &id);
+
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return -1;
+ }
+
+ return *id;
+}
+
+/*--------------------------------------------------------------------------*/
+int getMListType(int * mlist, void * pvApiCtx)
+{
+ if (mlist[0] != sci_mlist || mlist[1] != 2)
+ {
+ return -1;
+ }
+
+ if (mlist[6] != sci_strings || mlist[7] != 1 || mlist[8] != 2)
+ {
+ // first field is not a matrix 1x2 of strings
+ return -1;
+ }
+
+ if (mlist[13] == -33 && mlist[14] == -22 && mlist[15] == -21)
+ {
+ if (mlist[11] - 1 == strlen("XMLDoc") && mlist[16] == -13 && mlist[17] == 24 && mlist[18] == 12)
+ {
+ return XMLDOCUMENT;
+ }
+ if (mlist[11] - 1 == strlen("XMLElem") && mlist[16] == -14 && mlist[17] == 21 && mlist[18] == 14 && mlist[19] == 22)
+ {
+ return XMLELEMENT;
+ }
+ if (mlist[11] - 1 == strlen("XMLAttr") && mlist[16] == -10 && mlist[17] == 29 && mlist[18] == 29 && mlist[19] == 27)
+ {
+ return XMLATTRIBUTE;
+ }
+ if (mlist[11] - 1 == strlen("XMLNs") && mlist[16] == -23 && mlist[17] == 28)
+ {
+ return XMLNAMESPACE;
+ }
+ if (mlist[11] - 1 == strlen("XMLList") && mlist[16] == -21 && mlist[17] == 18 && mlist[18] == 28 && mlist[19] == 29)
+ {
+ return XMLLIST;
+ }
+ if (mlist[11] - 1 == strlen("XMLNH") && mlist[16] == -23 && mlist[17] == 17)
+ {
+ return XMLNOTHANDLED;
+ }
+ if (mlist[11] - 1 == strlen("XMLSet") && mlist[16] == -28 && mlist[17] == 14 && mlist[18] == 29)
+ {
+ return XMLSET;
+ }
+ if (mlist[11] - 1 == strlen("XMLValid") && mlist[16] == -31 && mlist[17] == 10 && mlist[18] == 21 && mlist[19] == 18 && mlist[20] == 13)
+ {
+ return XMLVALID;
+ }
+ }
+
+ return -1;
+}
diff --git a/modules/xml/src/c/libscixml_algo_la-XMLMlistsManagement.lo b/modules/xml/src/c/libscixml_algo_la-XMLMlistsManagement.lo
new file mode 100755
index 000000000..9169dea3c
--- /dev/null
+++ b/modules/xml/src/c/libscixml_algo_la-XMLMlistsManagement.lo
@@ -0,0 +1,12 @@
+# src/c/libscixml_algo_la-XMLMlistsManagement.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLMlistsManagement.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/c/xml.rc b/modules/xml/src/c/xml.rc
new file mode 100755
index 000000000..f84c1eddb
--- /dev/null
+++ b/modules/xml/src/c/xml.rc
@@ -0,0 +1,96 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+//#include "afxres.h"
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "xml module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "xml module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "xml.dll"
+ VALUE "ProductName", " xml module"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/xml/src/cpp/.deps/.dirstamp b/modules/xml/src/cpp/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/.dirstamp
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-VariableScope.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-VariableScope.Plo
new file mode 100755
index 000000000..1777683ee
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-VariableScope.Plo
@@ -0,0 +1,515 @@
+src/cpp/libscixml_algo_la-VariableScope.lo: src/cpp/VariableScope.cpp \
+ /usr/include/stdc-predef.h src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ src/cpp/XMLObject.hxx /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_set.h \
+ /usr/include/c++/5/bits/stl_multiset.h includes/xml_mlist.h \
+ includes/dynlib_xml_scilab.h includes/dynlib_xml_scilab.h \
+ src/cpp/XMLNodeList.hxx src/cpp/XMLList.hxx src/cpp/XMLRemovable.hxx \
+ includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLNodeList.hxx:
+
+src/cpp/XMLList.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLAttr.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLAttr.Plo
new file mode 100755
index 000000000..3416e76e7
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLAttr.Plo
@@ -0,0 +1,535 @@
+src/cpp/libscixml_algo_la-XMLAttr.lo: src/cpp/XMLAttr.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/5/string \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream /usr/include/c++/5/ostream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLAttr.hxx includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLElement.hxx src/cpp/XMLRemovable.hxx src/cpp/XMLDocument.hxx \
+ /usr/include/c++/5/cstdio /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ /usr/include/c++/5/cstring src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLAttr.hxx:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLElement.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+/usr/include/c++/5/cstring:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLDocument.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLDocument.Plo
new file mode 100755
index 000000000..0b2ff84b7
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLDocument.Plo
@@ -0,0 +1,558 @@
+src/cpp/libscixml_algo_la-XMLDocument.lo: src/cpp/XMLDocument.cpp \
+ /usr/include/stdc-predef.h src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLDocument.hxx \
+ /usr/include/c++/5/cstdio /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ /usr/include/c++/5/cstring /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLElement.hxx src/cpp/XMLRemovable.hxx src/cpp/XMLXPath.hxx \
+ src/cpp/XMLValidation.hxx src/cpp/XMLValidationRelaxNG.hxx \
+ src/cpp/VariableScope.hxx /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLElement.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+src/cpp/XMLXPath.hxx:
+
+src/cpp/XMLValidation.hxx:
+
+src/cpp/XMLValidationRelaxNG.hxx:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLElement.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLElement.Plo
new file mode 100755
index 000000000..f34f8ca18
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLElement.Plo
@@ -0,0 +1,541 @@
+src/cpp/libscixml_algo_la-XMLElement.lo: src/cpp/XMLElement.cpp \
+ /usr/include/stdc-predef.h src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLElement.hxx \
+ src/cpp/XMLRemovable.hxx includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLDocument.hxx /usr/include/c++/5/cstdio \
+ /usr/include/c++/5/list /usr/include/c++/5/bits/stl_list.h \
+ /usr/include/c++/5/bits/list.tcc /usr/include/c++/5/cstring \
+ /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \
+ src/cpp/XMLNodeList.hxx src/cpp/XMLList.hxx src/cpp/XMLNs.hxx \
+ src/cpp/XMLAttr.hxx src/cpp/VariableScope.hxx /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLElement.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/cpp/XMLNodeList.hxx:
+
+src/cpp/XMLList.hxx:
+
+src/cpp/XMLNs.hxx:
+
+src/cpp/XMLAttr.hxx:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLList.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLList.Plo
new file mode 100755
index 000000000..ee543717e
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLList.Plo
@@ -0,0 +1,473 @@
+src/cpp/libscixml_algo_la-XMLList.lo: src/cpp/XMLList.cpp \
+ /usr/include/stdc-predef.h src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLList.hxx \
+ src/cpp/XMLRemovable.hxx includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLList.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeList.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeList.Plo
new file mode 100755
index 000000000..47e9c7ad1
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeList.Plo
@@ -0,0 +1,539 @@
+src/cpp/libscixml_algo_la-XMLNodeList.lo: src/cpp/XMLNodeList.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/5/string \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream /usr/include/c++/5/ostream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLDocument.hxx \
+ /usr/include/c++/5/cstdio /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ /usr/include/c++/5/cstring /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLAttr.hxx src/cpp/XMLElement.hxx src/cpp/XMLRemovable.hxx \
+ src/cpp/XMLNodeList.hxx src/cpp/XMLList.hxx src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLAttr.hxx:
+
+src/cpp/XMLElement.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+src/cpp/XMLNodeList.hxx:
+
+src/cpp/XMLList.hxx:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeSet.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeSet.Plo
new file mode 100755
index 000000000..1982dbe1d
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNodeSet.Plo
@@ -0,0 +1,545 @@
+src/cpp/libscixml_algo_la-XMLNodeSet.lo: src/cpp/XMLNodeSet.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/5/string \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream /usr/include/c++/5/ostream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLElement.hxx \
+ src/cpp/XMLRemovable.hxx includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLDocument.hxx /usr/include/c++/5/cstdio \
+ /usr/include/c++/5/list /usr/include/c++/5/bits/stl_list.h \
+ /usr/include/c++/5/bits/list.tcc /usr/include/c++/5/cstring \
+ /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \
+ src/cpp/XMLAttr.hxx src/cpp/XMLNs.hxx src/cpp/XMLNotHandledElement.hxx \
+ src/cpp/XMLNodeSet.hxx src/cpp/XMLList.hxx src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLElement.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/cpp/XMLAttr.hxx:
+
+src/cpp/XMLNs.hxx:
+
+src/cpp/XMLNotHandledElement.hxx:
+
+src/cpp/XMLNodeSet.hxx:
+
+src/cpp/XMLList.hxx:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNotHandledElement.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNotHandledElement.Plo
new file mode 100755
index 000000000..c9b824db7
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNotHandledElement.Plo
@@ -0,0 +1,510 @@
+src/cpp/libscixml_algo_la-XMLNotHandledElement.lo: \
+ src/cpp/XMLNotHandledElement.cpp /usr/include/stdc-predef.h \
+ src/cpp/XMLObject.hxx /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLNotHandledElement.hxx \
+ includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/VariableScope.hxx /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLNotHandledElement.hxx:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNs.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNs.Plo
new file mode 100755
index 000000000..51d47c793
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLNs.Plo
@@ -0,0 +1,514 @@
+src/cpp/libscixml_algo_la-XMLNs.lo: src/cpp/XMLNs.cpp \
+ /usr/include/stdc-predef.h src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLElement.hxx \
+ src/cpp/XMLRemovable.hxx includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLNs.hxx src/cpp/VariableScope.hxx /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLElement.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLNs.hxx:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLObject.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLObject.Plo
new file mode 100755
index 000000000..5fcda94ac
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLObject.Plo
@@ -0,0 +1,481 @@
+src/cpp/libscixml_algo_la-XMLObject.lo: src/cpp/XMLObject.cpp \
+ /usr/include/stdc-predef.h src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ src/cpp/XMLObject.hxx /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_set.h \
+ /usr/include/c++/5/bits/stl_multiset.h includes/xml_mlist.h \
+ includes/dynlib_xml_scilab.h includes/dynlib_xml_scilab.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidation.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidation.Plo
new file mode 100755
index 000000000..ee5ddcd92
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidation.Plo
@@ -0,0 +1,500 @@
+src/cpp/libscixml_algo_la-XMLValidation.lo: src/cpp/XMLValidation.cpp \
+ /usr/include/stdc-predef.h src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLValidation.hxx \
+ /usr/include/c++/5/cstdio /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLValidation.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationDTD.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationDTD.Plo
new file mode 100755
index 000000000..da22b6638
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationDTD.Plo
@@ -0,0 +1,551 @@
+src/cpp/libscixml_algo_la-XMLValidationDTD.lo: \
+ src/cpp/XMLValidationDTD.cpp /usr/include/stdc-predef.h \
+ src/cpp/XMLObject.hxx /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLValidation.hxx \
+ /usr/include/c++/5/cstdio /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLValidationDTD.hxx src/cpp/XMLDocument.hxx \
+ /usr/include/c++/5/cstring /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLValidation.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLValidationDTD.hxx:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationRelaxNG.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationRelaxNG.Plo
new file mode 100755
index 000000000..7db743425
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationRelaxNG.Plo
@@ -0,0 +1,554 @@
+src/cpp/libscixml_algo_la-XMLValidationRelaxNG.lo: \
+ src/cpp/XMLValidationRelaxNG.cpp /usr/include/stdc-predef.h \
+ src/cpp/XMLObject.hxx /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLValidation.hxx \
+ /usr/include/c++/5/cstdio /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLValidationRelaxNG.hxx src/cpp/XMLDocument.hxx \
+ /usr/include/c++/5/cstring /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLValidation.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLValidationRelaxNG.hxx:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationSchema.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationSchema.Plo
new file mode 100755
index 000000000..ab00370a0
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLValidationSchema.Plo
@@ -0,0 +1,554 @@
+src/cpp/libscixml_algo_la-XMLValidationSchema.lo: \
+ src/cpp/XMLValidationSchema.cpp /usr/include/stdc-predef.h \
+ src/cpp/XMLObject.hxx /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLValidation.hxx \
+ /usr/include/c++/5/cstdio /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLValidationSchema.hxx src/cpp/XMLDocument.hxx \
+ /usr/include/c++/5/cstring /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLValidation.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLValidationSchema.hxx:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLXPath.Plo b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLXPath.Plo
new file mode 100755
index 000000000..4598f4eeb
--- /dev/null
+++ b/modules/xml/src/cpp/.deps/libscixml_algo_la-XMLXPath.Plo
@@ -0,0 +1,537 @@
+src/cpp/libscixml_algo_la-XMLXPath.lo: src/cpp/XMLXPath.cpp \
+ /usr/include/stdc-predef.h src/cpp/XMLObject.hxx \
+ /usr/include/c++/5/iostream \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/typeinfo \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ includes/xml_mlist.h includes/dynlib_xml_scilab.h \
+ includes/dynlib_xml_scilab.h src/cpp/XMLDocument.hxx \
+ /usr/include/c++/5/cstdio /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/c++/5/list \
+ /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \
+ /usr/include/c++/5/cstring /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/xml.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h \
+ src/cpp/XMLElement.hxx src/cpp/XMLRemovable.hxx src/cpp/XMLXPath.hxx \
+ src/cpp/XMLNodeSet.hxx src/cpp/XMLList.hxx src/cpp/VariableScope.hxx \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+src/cpp/XMLObject.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/typeinfo:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+includes/xml_mlist.h:
+
+includes/dynlib_xml_scilab.h:
+
+includes/dynlib_xml_scilab.h:
+
+src/cpp/XMLDocument.hxx:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/c++/5/list:
+
+/usr/include/c++/5/bits/stl_list.h:
+
+/usr/include/c++/5/bits/list.tcc:
+
+/usr/include/c++/5/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/xml.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpathInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/schemasInternals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/HTMLparser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlsave.h:
+
+src/cpp/XMLElement.hxx:
+
+src/cpp/XMLRemovable.hxx:
+
+src/cpp/XMLXPath.hxx:
+
+src/cpp/XMLNodeSet.hxx:
+
+src/cpp/XMLList.hxx:
+
+src/cpp/VariableScope.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/xml/src/cpp/.dirstamp b/modules/xml/src/cpp/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/xml/src/cpp/.dirstamp
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-VariableScope.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-VariableScope.o
new file mode 100755
index 000000000..40e87fddd
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-VariableScope.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLAttr.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLAttr.o
new file mode 100755
index 000000000..18083c1b7
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLAttr.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLDocument.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLDocument.o
new file mode 100755
index 000000000..ea8fe65ce
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLDocument.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLElement.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLElement.o
new file mode 100755
index 000000000..48d78130a
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLElement.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLList.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLList.o
new file mode 100755
index 000000000..7ad269a40
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLList.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeList.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeList.o
new file mode 100755
index 000000000..957e90182
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeList.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeSet.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeSet.o
new file mode 100755
index 000000000..c346a8aaf
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNodeSet.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNotHandledElement.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNotHandledElement.o
new file mode 100755
index 000000000..822f2e2df
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNotHandledElement.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNs.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNs.o
new file mode 100755
index 000000000..8a87b59dd
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLNs.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLObject.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLObject.o
new file mode 100755
index 000000000..b36d3f351
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLObject.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidation.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidation.o
new file mode 100755
index 000000000..64f71d157
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidation.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationDTD.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationDTD.o
new file mode 100755
index 000000000..d7e743829
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationDTD.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationRelaxNG.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationRelaxNG.o
new file mode 100755
index 000000000..4ba837fa6
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationRelaxNG.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationSchema.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationSchema.o
new file mode 100755
index 000000000..426318887
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLValidationSchema.o
Binary files differ
diff --git a/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLXPath.o b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLXPath.o
new file mode 100755
index 000000000..4b634a71e
--- /dev/null
+++ b/modules/xml/src/cpp/.libs/libscixml_algo_la-XMLXPath.o
Binary files differ
diff --git a/modules/xml/src/cpp/SplitString.hxx b/modules/xml/src/cpp/SplitString.hxx
new file mode 100755
index 000000000..3c2647822
--- /dev/null
+++ b/modules/xml/src/cpp/SplitString.hxx
@@ -0,0 +1,51 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __SPLITSTRING_HXX__
+#define __SPLITSTRING_HXX__
+
+#include <string>
+#include <vector>
+
+namespace org_modules_xml
+{
+ /**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Split a string into lines
+ */
+ class SplitString
+ {
+
+public:
+ /**
+ * Split string into lines
+ * @param str the string to split
+ * @param lines a vector which will contain lines
+ */
+ static void split(const std::string & str, std::vector < std::string > &lines)
+ {
+ std::string::size_type lastPos = str.find_first_not_of("\n", 0);
+ std::string::size_type pos = str.find_first_of("\n", lastPos);
+
+ while (std::string::npos != pos || std::string::npos != lastPos)
+ {
+ lines.push_back(str.substr(lastPos, pos - lastPos));
+ lastPos = str.find_first_not_of("\n", pos);
+ pos = str.find_first_of("\n", lastPos);
+ }
+ }
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/VariableScope.cpp b/modules/xml/src/cpp/VariableScope.cpp
new file mode 100755
index 000000000..18e9e357d
--- /dev/null
+++ b/modules/xml/src/cpp/VariableScope.cpp
@@ -0,0 +1,266 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "VariableScope.hxx"
+#include "XMLObject.hxx"
+#include "XMLNodeList.hxx"
+#include <iostream>
+
+namespace org_modules_xml
+{
+xmlFreeFunc VariableScope::XMLFreeFunc = 0;
+std::map < void *, XMLObject * >*VariableScope::mapLibXMLToXMLObject = new std::map < void *, XMLObject * >();
+std::map < void *, XMLNodeList * >*VariableScope::mapLibXMLToXMLNodeList = new std::map < void *, XMLNodeList * >();
+std::map < const XMLObject *, std::map < const XMLObject *, bool>*>*VariableScope::parentToChildren;
+
+VariableScope::VariableScope(int _initialSize)
+{
+ position = -1;
+ initialSize = _initialSize;
+ scope = new std::vector < XMLObject * >();
+ freePlaces = new std::stack < int >();
+ parentToChildren = new std::map < const XMLObject *, std::map < const XMLObject *, bool>*>();
+ initXMLMemory();
+}
+
+VariableScope::~VariableScope()
+{
+ for (unsigned int i = 0; i < scope->size(); i++)
+ {
+ if ((*scope)[i])
+ {
+ delete(*scope)[i];
+ }
+ }
+ delete scope;
+ delete freePlaces;
+ delete parentToChildren;
+}
+
+/**
+ * To avoid unused place in the vector, we use a stack which contains the empty places.
+ */
+int VariableScope::getVariableId(const XMLObject & obj)
+{
+ int returnValue;
+ const XMLObject *parent = obj.getXMLObjectParent();
+
+ if (freePlaces->size() != 0)
+ {
+ returnValue = freePlaces->top();
+ freePlaces->pop();
+ (*scope)[returnValue] = const_cast < XMLObject * >(&obj);
+ }
+ else
+ {
+ returnValue = (int)scope->size();
+ scope->push_back(const_cast < XMLObject * >(&obj));
+ }
+
+ if (parent)
+ {
+ std::map < const XMLObject *, std::map < const XMLObject *, bool>*>::const_iterator it = parentToChildren->find(parent);
+
+ if (it != parentToChildren->end())
+ {
+ std::map < const XMLObject *, bool>::iterator jt = it->second->find(&obj);
+ if (jt != it->second->end())
+ {
+ jt->second = true;
+ }
+ else
+ {
+ it->second->insert(std::pair<const XMLObject *, bool>(&obj, true));
+ }
+ }
+ else
+ {
+ std::map < const XMLObject *, bool> * map = new std::map < const XMLObject *, bool>();
+ map->insert(std::pair<const XMLObject *, bool>(&obj, true));
+ parentToChildren->insert(std::pair<const XMLObject *, std::map < const XMLObject *, bool>*>(parent, map));
+ }
+ }
+
+ return returnValue;
+}
+
+XMLObject *VariableScope::getVariableFromId(int id)
+{
+ if (id >= 0 && id < (int)scope->size())
+ {
+ return (*scope)[id];
+ }
+
+ return 0;
+}
+
+/**
+ * There are two motivations to register libxml pointers:
+ * i) if a XMLObject is associated to a libxml node, then when this node will be removed
+ * the XMLObject must be destroyed. This job is done in _xmlFreeFunc which is called
+ * by libxml when a libxml node is freed.
+ * ii) To avoid multiple instances of a XMLObject which wraps the same node, the function
+ * getXMLObjectFromLibXMLPtr is used to know if a XMLObject already exists for the
+ * libxml node.
+ */
+void VariableScope::registerPointers(void *libxml, XMLObject * obj)
+{
+ if (libxml)
+ {
+ (*mapLibXMLToXMLObject)[libxml] = obj;
+ }
+}
+
+void VariableScope::registerPointers(void *libxml, XMLNodeList * nodeList)
+{
+ if (libxml)
+ {
+ (*mapLibXMLToXMLNodeList)[libxml] = nodeList;
+ }
+}
+
+void VariableScope::unregisterPointer(void *libxml)
+{
+ if (libxml)
+ {
+ mapLibXMLToXMLObject->erase(libxml);
+ }
+}
+
+void VariableScope::unregisterNodeListPointer(void *libxml)
+{
+ if (libxml)
+ {
+ mapLibXMLToXMLNodeList->erase(libxml);
+ }
+}
+
+XMLObject *VariableScope::getXMLObjectFromLibXMLPtr(void *libxml) const
+{
+ if (libxml)
+ {
+ std::map < void *, XMLObject * >::const_iterator it = mapLibXMLToXMLObject->find(libxml);
+ if (it != mapLibXMLToXMLObject->end())
+ {
+ return it->second;
+ }
+ }
+
+ return 0;
+}
+
+XMLNodeList *VariableScope::getXMLNodeListFromLibXMLPtr(void *libxml)const
+{
+ if (libxml)
+ {
+ std::map < void *, XMLNodeList * >::const_iterator it = mapLibXMLToXMLNodeList->find(libxml);
+ if (it != mapLibXMLToXMLNodeList->end())
+ {
+ return it->second;
+ }
+ }
+
+ return 0;
+}
+
+void VariableScope::removeId(int id)
+{
+ if (id >= 0 && id < (int)scope->size() && (*scope)[id])
+ {
+ XMLObject * const child = (*scope)[id];
+ removeChildFromParent(child);
+ removeDependencies(child);
+ (*scope)[id] = 0;
+ freePlaces->push(id);
+ }
+}
+
+void VariableScope::removeDependencies(XMLObject * obj)
+{
+ std::map < const XMLObject *, std::map < const XMLObject *, bool>*>::const_iterator it = parentToChildren->find(obj);
+
+ if (it != parentToChildren->end())
+ {
+ for (std::map < const XMLObject *, bool>::const_iterator i = it->second->begin(), e = it->second->end(); i != e; ++i)
+ {
+ const XMLObject *child = i->first;
+ if (child && i->second && getVariableFromId(child->getId()) == child)
+ {
+ delete child;
+ }
+ }
+ delete it->second;
+
+ parentToChildren->erase(obj);
+ }
+}
+
+void VariableScope::initXMLMemory()
+{
+ xmlFreeFunc freeFunc;
+ xmlMallocFunc mallocFunc;
+ xmlReallocFunc reallocFunc;
+ xmlStrdupFunc strdupFunc;
+
+ xmlMemGet(&freeFunc, &mallocFunc, &reallocFunc, &strdupFunc);
+ freeFunc = getFreeFunc(freeFunc);
+ xmlMemSetup(freeFunc, mallocFunc, reallocFunc, strdupFunc);
+}
+
+xmlFreeFunc VariableScope::getFreeFunc(xmlFreeFunc freeFunc)
+{
+ if (!XMLFreeFunc)
+ {
+ XMLFreeFunc = freeFunc;
+ }
+
+ return &_xmlFreeFunc;
+}
+
+void VariableScope::_xmlFreeFunc(void *mem)
+{
+ std::map < void *, XMLObject * >::const_iterator it = mapLibXMLToXMLObject->find(mem);
+
+ if (it != mapLibXMLToXMLObject->end())
+ {
+ delete it->second;
+
+ mapLibXMLToXMLObject->erase(mem);
+ }
+
+ std::map < void *, XMLNodeList * >::const_iterator itnl = mapLibXMLToXMLNodeList->find(mem);
+
+ if (itnl != mapLibXMLToXMLNodeList->end())
+ {
+ delete itnl->second;
+
+ mapLibXMLToXMLNodeList->erase(mem);
+ }
+
+ XMLFreeFunc(mem);
+}
+
+inline void VariableScope::removeChildFromParent(const XMLObject * child)
+{
+ const XMLObject *parent = child->getXMLObjectParent();
+ std::map < const XMLObject *, std::map < const XMLObject *, bool>*>::iterator i = parentToChildren->find(parent);
+
+ if (i != parentToChildren->end())
+ {
+ std::map < const XMLObject *, bool>::iterator j = i->second->find(child);
+ if (j != i->second->end())
+ {
+ j->second = false;
+ }
+ }
+}
+}
diff --git a/modules/xml/src/cpp/VariableScope.hxx b/modules/xml/src/cpp/VariableScope.hxx
new file mode 100755
index 000000000..9d7c633fb
--- /dev/null
+++ b/modules/xml/src/cpp/VariableScope.hxx
@@ -0,0 +1,138 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __VARIABLESCOPE_HXX__
+#define __VARIABLESCOPE_HXX__
+
+#include <map>
+#include <stack>
+#include <vector>
+#include <libxml/xmlmemory.h>
+
+namespace org_modules_xml
+{
+class XMLObject;
+class XMLNodeList;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to handle the mapping between XMLObjects and their id
+ */
+class VariableScope
+{
+
+ std::vector < XMLObject * >*scope;
+ int position;
+ int initialSize;
+ std::stack < int >*freePlaces;
+
+ static std::map < const XMLObject *, std::map < const XMLObject *, bool>*>*parentToChildren;
+ static std::map < void *, XMLObject * >*mapLibXMLToXMLObject;
+ static std::map < void *, XMLNodeList * >*mapLibXMLToXMLNodeList;
+ static xmlFreeFunc XMLFreeFunc;
+
+public:
+ /**
+ * Registers a pointer and its associated object.
+ * The aim of this mapping is to delete an existing object when a pointer
+ * in the xml tree is freed.
+ * @param libxml a pointer in the xml tree
+ * @param obj the corresponding object
+ */
+ static void registerPointers(void *libxml, XMLObject * obj);
+
+ /**
+ * Unregisters a pointer. It can be used when a pointer in the tree is freed or
+ * locally to avoid cyclic dependencies on removal.
+ * @param libxml a pointer in the xml tree
+ */
+ static void unregisterPointer(void *libxml);
+
+ /**
+ * Unregisters a pointer. It can be used when a pointer in the tree is freed or
+ * locally to avoid cyclic dependencies on removal.
+ * @param libxml a pointer in the xml tree
+ */
+ static void unregisterNodeListPointer(void *libxml);
+
+ /**
+ * Registers a pointer and its associated object.
+ * The aim of this mapping is to delete an existing object when a pointer
+ * in the xml tree is freed.
+ * @param libxml a pointer in the xml tree
+ * @param nodeList the corresponding nodeList
+ */
+ static void registerPointers(void *libxml, XMLNodeList * nodeList);
+
+ /**
+ * Default constructor
+ * @param initialSize the default size of the scope
+ */
+ VariableScope(int initialSize);
+
+ /**
+ * Destructor
+ */
+ ~VariableScope();
+
+ /**
+ * Gets the variable id from the object
+ * @param obj the object
+ * @return the corresponding id
+ */
+ int getVariableId(const XMLObject & obj);
+
+ /**
+ * Gets the object from the id
+ * @param id the object id
+ * @return the object pointer or 0 if not found
+ */
+ XMLObject *getVariableFromId(int id);
+
+ /**
+ * Removes an id from the scope
+ * @param id the id
+ */
+ void removeId(int id);
+
+ /**
+ * Gets the XMLObject associated with a libxml pointer
+ * @param libxml the libxml pointer
+ * @return the XMLObject pointer
+ */
+ XMLObject *getXMLObjectFromLibXMLPtr(void *libxml) const;
+
+ /**
+ * Gets the XMLNodeList associated with a libxml pointer
+ * @param libxml the libxml pointer
+ * @return the XMLNodeList pointer
+ */
+ XMLNodeList *getXMLNodeListFromLibXMLPtr(void *libxml) const;
+
+private:
+ static void _xmlFreeFunc(void *mem);
+ static void initXMLMemory();
+ static xmlFreeFunc getFreeFunc(xmlFreeFunc freeFunc);
+
+ static void removeChildFromParent(const XMLObject * child);
+
+ /**
+ * Removes the object dependencies if they exist
+ * @param obj the object
+ */
+ void removeDependencies(XMLObject * obj);
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLAttr.cpp b/modules/xml/src/cpp/XMLAttr.cpp
new file mode 100755
index 000000000..b21c96436
--- /dev/null
+++ b/modules/xml/src/cpp/XMLAttr.cpp
@@ -0,0 +1,279 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include <string>
+#include <string.h>
+
+#include "XMLObject.hxx"
+#include "XMLAttr.hxx"
+#include "XMLElement.hxx"
+#include "XMLDocument.hxx"
+#include "VariableScope.hxx"
+
+namespace org_modules_xml
+{
+XMLAttr::XMLAttr(const XMLElement & _elem): XMLObject(), elem(_elem)
+{
+ scilabType = XMLATTRIBUTE;
+ id = scope->getVariableId(*this);
+ scope->registerPointers(elem.getRealNode()->properties, this);
+}
+
+XMLAttr::~XMLAttr()
+{
+ scope->unregisterPointer(elem.getRealNode()->properties);
+ scope->removeId(id);
+}
+
+void *XMLAttr::getRealXMLPointer() const
+{
+ return static_cast < void *>(elem.getRealNode()->properties);
+}
+
+const XMLObject *XMLAttr::getXMLObjectParent() const
+{
+ return &elem;
+}
+
+const char *XMLAttr::getAttributeValue(const char *name) const
+{
+ xmlNode *node = elem.getRealNode();
+ xmlAttr *attrs = xmlHasProp(node, (const xmlChar *)name);
+ if (attrs)
+ {
+ return (const char *)attrs->children->content;
+ }
+
+ return 0;
+}
+
+const char *XMLAttr::getAttributeValue(const char *ns, const char *name) const
+{
+ xmlNode *node = elem.getRealNode();
+ xmlAttr *attrs = 0;
+ for (xmlAttr * cur = node->properties; cur; cur = cur->next)
+ {
+ if (cur->ns && !strcmp(name, (const char *)cur->name)
+ && (!strcmp(ns, (const char *)cur->ns->prefix) || !strcmp(ns, (const char *)cur->ns->href)))
+ {
+ attrs = cur;
+ break;
+ }
+ }
+
+ if (attrs)
+ {
+ return (const char *)attrs->children->content;
+ }
+
+ return 0;
+}
+
+const char *XMLAttr::getAttributeValue(int index) const
+{
+ xmlNode *node = elem.getRealNode();
+ int i = 1;
+ for (xmlAttr * cur = node->properties; cur; cur = cur->next, i++)
+ {
+ if (i == index)
+ {
+ return (const char *)cur->children->content;
+ }
+ }
+
+ return 0;
+}
+
+void XMLAttr::setAttributeValue(const char *prefix, const char *name, const char *value) const
+{
+ setAttributeValue(elem.getRealNode(), prefix, name, value);
+}
+
+void XMLAttr::setAttributeValue(xmlNode * node, const char *prefix, const char *name, const char *value)
+{
+ if (node && node->type == XML_ELEMENT_NODE)
+ {
+ xmlAttr *attrs = 0;
+
+ for (xmlAttr * cur = node->properties; cur; cur = cur->next)
+ {
+ if (cur->ns && !strcmp(name, (const char *)cur->name)
+ && (!strcmp(prefix, (const char *)cur->ns->prefix) || !strcmp(prefix, (const char *)cur->ns->href)))
+ {
+ attrs = cur;
+ break;
+ }
+ }
+
+ if (attrs)
+ {
+ xmlSetNsProp(node, attrs->ns, (const xmlChar *)name, (const xmlChar *)value);
+ }
+ else
+ {
+ xmlNs *ns = 0;
+
+ if (!strncmp(prefix, "http://", strlen("http://")))
+ {
+ ns = xmlSearchNsByHref(node->doc, node, (const xmlChar *)prefix);
+ }
+ else
+ {
+ ns = xmlSearchNs(node->doc, node, (const xmlChar *)prefix);
+ }
+
+ if (ns)
+ {
+ xmlSetNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
+ }
+ else
+ {
+ xmlSetProp(node, (const xmlChar *)name, (const xmlChar *)value);
+ }
+ }
+ }
+}
+
+void XMLAttr::setAttributeValue(xmlNode * node, const char **prefix, const char **name, const char **value, int size)
+{
+ if (node && node->type == XML_ELEMENT_NODE)
+ {
+ for (int i = 0; i < size; i++)
+ {
+ setAttributeValue(node, prefix[i], name[i], value[i]);
+ }
+ }
+}
+
+void XMLAttr::setAttributeValue(const char **prefix, const char **name, const char **value, int size) const
+{
+ for (int i = 0; i < size; i++)
+ {
+ setAttributeValue(prefix[i], name[i], value[i]);
+ }
+}
+
+void XMLAttr::setAttributeValue(int index, const char *value) const
+{
+ setAttributeValue(elem.getRealNode(), index, value);
+}
+
+void XMLAttr::setAttributeValue(xmlNode * node, int index, const char *value)
+{
+ if (node && node->type == XML_ELEMENT_NODE)
+ {
+ int i = 1;
+
+ for (xmlAttr * cur = node->properties; cur; cur = cur->next, i++)
+ {
+ if (i == index)
+ {
+ cur->children->content = xmlStrdup((const xmlChar *)value);
+ }
+ }
+ }
+}
+
+void XMLAttr::setAttributeValue(const char *name, const char *value) const
+{
+ setAttributeValue(elem.getRealNode(), name, value);
+}
+
+void XMLAttr::setAttributeValue(xmlNode * node, const char *name, const char *value)
+{
+ if (node && node->type == XML_ELEMENT_NODE)
+ {
+ xmlAttr *attrs = xmlHasProp(node, (const xmlChar *)name);
+
+ if (attrs)
+ {
+ xmlSetProp(node, (const xmlChar *)name, (const xmlChar *)value);
+ }
+ else
+ {
+ xmlNewProp(node, (const xmlChar *)name, (const xmlChar *)value);
+ }
+ }
+}
+
+void XMLAttr::setAttributeValue(xmlNode * node, const char **name, const char **value, int size)
+{
+ if (node && node->type == XML_ELEMENT_NODE)
+ {
+ for (int i = 0; i < size; i++)
+ {
+ setAttributeValue(node, name[i], value[i]);
+ }
+ }
+}
+
+void XMLAttr::setAttributeValue(const char **name, const char **value, int size) const
+{
+ for (int i = 0; i < size; i++)
+ {
+ setAttributeValue(name[i], value[i]);
+ }
+}
+
+int XMLAttr::getSize() const
+{
+ return getSize(elem.getRealNode()->properties);
+}
+
+int XMLAttr::getSize(xmlAttr * attr)
+{
+ int i = 0;
+ for (xmlAttr * cur = attr; cur; cur = cur->next, i++)
+ {
+ ;
+ }
+
+ return i;
+}
+
+const std::string XMLAttr::toString() const
+{
+ std::ostringstream oss;
+ xmlNode *node = elem.getRealNode();
+
+ oss << "XML Attributes" << std::endl;
+ for (xmlAttr * cur = node->properties; cur; cur = cur->next)
+ {
+ if (cur->ns)
+ {
+ oss << cur->ns->prefix << ":" << cur->name << " --> " << cur->children->content << std::endl;
+ }
+ else
+ {
+ oss << cur->name << " --> " << cur->children->content << std::endl;
+ }
+ }
+
+ return oss.str();
+}
+
+const char ** XMLAttr::getNames() const
+{
+ int size = getSize();
+ int i = 0;
+ char ** arr = new char*[size + 1];
+ xmlNode * node = elem.getRealNode();
+
+ for (xmlAttr * cur = node->properties; cur; cur = cur->next, i++)
+ {
+ arr[i] = (char *)cur->name;
+ }
+ arr[size] = 0;
+
+ return const_cast<const char**>(arr);
+}
+}
diff --git a/modules/xml/src/cpp/XMLAttr.hxx b/modules/xml/src/cpp/XMLAttr.hxx
new file mode 100755
index 000000000..37cbbec9d
--- /dev/null
+++ b/modules/xml/src/cpp/XMLAttr.hxx
@@ -0,0 +1,176 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLATTR_HXX__
+#define __XMLATTR_HXX__
+
+#include <string>
+#include "dynlib_xml_scilab.h"
+#include "xml.h"
+
+namespace org_modules_xml
+{
+class XMLElement;
+class XMLObject;
+
+class XML_SCILAB_IMPEXP XMLAttr : public XMLObject
+{
+ const XMLElement & elem;
+
+public:
+ /**
+ * Default constructor
+ * @param elem the element which has this attributes
+ */
+ XMLAttr(const XMLElement & elem);
+
+ ~XMLAttr();
+
+ void *getRealXMLPointer() const;
+
+ /**
+ * Get the number of attributes
+ * @return the attributes number
+ */
+ int getSize() const;
+
+ /**
+ * Gets the attribute value with the given index.
+ * @param index the attribute index
+ * @return the attribute value
+ */
+ const char *getAttributeValue(int index) const;
+
+ /**
+ * Gets the attribute value.
+ * @param name the attribute name
+ * @return the attribute value
+ */
+ const char *getAttributeValue(const char *name) const;
+
+ /**
+ * Gets the attribute value with a prefix namespace.
+ * @param prefix the namespace prefix or the namespace itself
+ * @param name the attribute name
+ * @return the attribute value
+ */
+ const char *getAttributeValue(const char *prefix, const char *name) const;
+
+ /**
+ * Sets the attribute value.
+ * @param name the attribute name
+ * @param value the attribute value
+ */
+ void setAttributeValue(const char *name, const char *value) const;
+
+ /**
+ * Sets the attribute value.
+ * @param node the node where to set the attributes
+ * @param name the attribute name
+ * @param value the attribute value
+ */
+ static void setAttributeValue(xmlNode * node, const char *name, const char *value);
+
+ /**
+ * Sets the attribute value.
+ * @param name the attribute names
+ * @param value the attribute values
+ * @param size the number of names
+ */
+ void setAttributeValue(const char **name, const char **value, int size) const;
+
+ /**
+ * Sets the attribute value.
+ * @param node the node where to set the attributes
+ * @param name the attribute names
+ * @param value the attribute values
+ * @param size the number of names
+ */
+ static void setAttributeValue(xmlNode * node, const char **name, const char **value, int size);
+
+ /**
+ * Sets the attribute value at the given index.
+ * @param index the attribute index
+ * @param value the attribute value
+ */
+ void setAttributeValue(int index, const char *value) const;
+
+ /**
+ * Sets the attribute value at the given index.
+ * @param node the node where to set the attributes
+ * @param index the attribute index
+ * @param value the attribute value
+ */
+ static void setAttributeValue(xmlNode * node, int index, const char *value);
+
+ /**
+ * Sets the attribute value with a prefix namespace.
+ * @param prefix the namespace prefix or the namespace itself
+ * @param name the attribute name
+ * @param value the attribute value
+ */
+ void setAttributeValue(const char *prefix, const char *name, const char *value) const;
+
+ /**
+ * Sets the attribute value with a prefix namespace.
+ * @param node the node where to set the attributes
+ * @param prefix the namespace prefix or the namespace itself
+ * @param name the attribute name
+ * @param value the attribute value
+ */
+ static void setAttributeValue(xmlNode * node, const char *prefix, const char *name, const char *value);
+
+ /**
+ * Sets the attribute value with a prefix namespace.
+ * @param prefix the namespace prefix or the namespace itself
+ * @param name the attribute names
+ * @param value the attribute values
+ * @param size the number of names
+ */
+ void setAttributeValue(const char **prefix, const char **name, const char **value, int size) const;
+
+ /**
+ * Sets the attribute value with a prefix namespace.
+ * @param node the node where to set the attributes
+ * @param prefix the namespace prefix or the namespace itself
+ * @param name the attribute names
+ * @param value the attribute values
+ * @param size the number of names
+ */
+ static void setAttributeValue(xmlNode * node, const char **prefix, const char **name, const char **value, int size);
+
+ /**
+ * @return the names of the attributes
+ */
+ const char ** getNames() const;
+
+ /**
+ * Gets the element associated with this object
+ * @return the associated object
+ */
+ const XMLElement & getElement() const
+ {
+ return elem;
+ }
+
+ const XMLObject *getXMLObjectParent() const;
+ const std::string toString() const;
+
+ /**
+ * Get the number of attributes
+ * @return the attributes number
+ */
+ static int getSize(xmlAttr * attr);
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLDocument.cpp b/modules/xml/src/cpp/XMLDocument.cpp
new file mode 100755
index 000000000..a2308ff07
--- /dev/null
+++ b/modules/xml/src/cpp/XMLDocument.cpp
@@ -0,0 +1,546 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLDocument.hxx"
+#include "XMLElement.hxx"
+#include "XMLXPath.hxx"
+#include "XMLValidation.hxx"
+#include "XMLValidationRelaxNG.hxx"
+#include "VariableScope.hxx"
+
+extern "C"
+{
+#include "expandPathVariable.h"
+#include "MALLOC.h"
+#include "localization.h"
+}
+
+#include <iostream>
+
+#define BUFFER_SIZE 1024
+
+namespace org_modules_xml
+{
+
+std::string * XMLDocument::errorBuffer = 0;
+std::string * XMLDocument::errorXPathBuffer = 0;
+std::list < XMLDocument * >&XMLDocument::openDocs = *new std::list < XMLDocument * >();
+
+XMLDocument::XMLDocument(const char *path, bool validate, std::string * error, const char * encoding, const bool html): XMLObject()
+{
+ char *expandedPath = expandPathVariable(const_cast<char *>(path));
+ if (expandedPath)
+ {
+ if (html)
+ {
+ document = readHTMLDocument(const_cast<const char *>(expandedPath), encoding, error);
+ }
+ else
+ {
+ document = readDocument(const_cast<const char *>(expandedPath), encoding, validate, error);
+ }
+
+ FREE(expandedPath);
+ if (document)
+ {
+ openDocs.push_back(this);
+ scope->registerPointers(document, this);
+ }
+ }
+ else
+ {
+ document = 0;
+ *error = std::string(gettext("Invalid file name: ")) + std::string(path);
+ }
+
+ id = scope->getVariableId(*this);
+ scilabType = XMLDOCUMENT;
+}
+
+XMLDocument::XMLDocument(const std::string & xmlCode, bool validate, std::string * error, const char * encoding, const bool html): XMLObject()
+{
+ if (html)
+ {
+ document = readHTMLDocument(xmlCode, encoding, error);
+ }
+ else
+ {
+ document = readDocument(xmlCode, encoding, validate, error);
+ }
+
+ if (document)
+ {
+ openDocs.push_back(this);
+ }
+ scope->registerPointers(document, this);
+ id = scope->getVariableId(*this);
+ scilabType = XMLDOCUMENT;
+}
+
+XMLDocument::XMLDocument(char *uri, char *version): XMLObject()
+{
+ char *newUri = 0;
+ char *expandedPath = 0;
+
+ if (!version)
+ {
+ version = const_cast < char *>("1.0");
+ }
+ document = xmlNewDoc((xmlChar *) version);
+ openDocs.push_back(this);
+ scope->registerPointers(document, this);
+ id = scope->getVariableId(*this);
+ scilabType = XMLDOCUMENT;
+
+ expandedPath = expandPathVariable(const_cast < char *>(uri));
+
+ if (expandedPath)
+ {
+ newUri = (char *)xmlMalloc(sizeof(char *) * (strlen(expandedPath) + 1));
+ memcpy(newUri, expandedPath, sizeof(char) * (strlen(expandedPath) + 1));
+ document->URL = (xmlChar *) newUri;
+ FREE(expandedPath);
+ }
+}
+
+XMLDocument::~XMLDocument()
+{
+ scope->unregisterPointer(document);
+ scope->removeId(id);
+ if (document)
+ {
+ openDocs.remove(this);
+ if (openDocs.size() == 0 && XMLValidation::getOpenValidationFiles().size() == 0)
+ {
+ resetScope();
+ }
+ xmlFreeDoc(document);
+ }
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ errorBuffer = 0;
+ }
+ if (errorXPathBuffer)
+ {
+ delete errorXPathBuffer;
+ errorXPathBuffer = 0;
+ }
+
+#ifdef SCILAB_DEBUG_XML
+ for (std::set<XMLObject *>::const_iterator i = XMLObject::pointers.begin(), e = XMLObject::pointers.end(); i != e; ++i)
+ {
+ XMLObject * p = *i;
+ if (p != this)
+ {
+ std::cout << "Stay = " << (void*)p << ":" << typeid(*p).name() << std::endl;
+ }
+ }
+#endif
+}
+
+void *XMLDocument::getRealXMLPointer() const
+{
+ return static_cast < void *>(document);
+}
+
+const XMLXPath *XMLDocument::makeXPathQuery(const char *query, char **namespaces, int length, const XMLElement * e, std::string * error)
+{
+ if (errorXPathBuffer)
+ {
+ delete errorXPathBuffer;
+ }
+ errorXPathBuffer = new std::string();
+
+ xmlXPathContext *ctxt = xmlXPathNewContext(document);
+
+ if (!ctxt)
+ {
+ errorXPathBuffer->append(gettext("Cannot create a parser context"));
+ *error = *errorXPathBuffer;
+ return 0;
+ }
+
+ if (e)
+ {
+ ctxt->node = (xmlNode *) e->getRealXMLPointer();
+ }
+
+ if (namespaces)
+ {
+ for (int i = 0; i < length; i++)
+ {
+ xmlXPathRegisterNs(ctxt, (const xmlChar *)namespaces[i], (const xmlChar *)namespaces[i + length]);
+ }
+ }
+
+ xmlSetStructuredErrorFunc(ctxt, XMLDocument::errorXPathFunction);
+ xmlXPathCompExpr *expr = xmlXPathCtxtCompile(ctxt, (const xmlChar *)query);
+
+ if (!expr)
+ {
+ xmlSetStructuredErrorFunc(ctxt, 0);
+ xmlXPathFreeContext(ctxt);
+ *error = *errorXPathBuffer;
+ return 0;
+ }
+
+ xmlXPathObject *xpath = xmlXPathCompiledEval(expr, ctxt);
+
+ xmlSetStructuredErrorFunc(ctxt, 0);
+ xmlXPathFreeContext(ctxt);
+ xmlXPathFreeCompExpr(expr);
+ if (!xpath)
+ {
+ *error = *errorXPathBuffer;
+ return 0;
+ }
+
+ return new XMLXPath(*this, xpath);
+}
+
+const XMLObject *XMLDocument::getXMLObjectParent() const
+{
+ return 0;
+}
+
+const std::string XMLDocument::toString() const
+{
+ std::ostringstream oss;
+
+ oss << "XML Document" << std::endl
+ << "url: " << getDocumentURL() << std::endl
+ << "root: " << "XML Element";
+
+ return oss.str();
+}
+
+const std::string XMLDocument::dump(bool indent) const
+{
+ xmlChar *buffer = 0;
+ int size = 0;
+ xmlDocDumpFormatMemory(document, &buffer, &size, indent ? 1 : 0);
+ std::string str((const char *)buffer);
+ xmlFree(buffer);
+
+ return str;
+}
+
+const std::string XMLDocument::dumpHTML(bool indent) const
+{
+ xmlBuffer * buffer = xmlBufferCreate();
+ int ret;
+ int options = XML_SAVE_AS_HTML;
+ if (indent)
+ {
+ options |= XML_SAVE_FORMAT;
+ }
+
+ xmlThrDefIndentTreeOutput(1);
+ xmlSaveCtxtPtr ctxt = xmlSaveToBuffer(buffer, 0, options);
+ ret = xmlSaveDoc(ctxt, document);
+ xmlSaveFlush(ctxt);
+ xmlSaveClose(ctxt);
+
+ std::string str((const char *)xmlBufferDetach(buffer));
+ xmlBufferFree(buffer);
+
+ return str;
+}
+
+const XMLElement *XMLDocument::getRoot() const
+{
+ xmlNode *root = xmlDocGetRootElement(document);
+ if (!root)
+ {
+ return 0;
+ }
+
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(root);
+
+ if (obj)
+ {
+ return static_cast < XMLElement * >(obj);
+ }
+
+ return new XMLElement(*this, root);
+}
+
+void XMLDocument::setRoot(const XMLElement & elem) const
+{
+ xmlNode *root = xmlDocGetRootElement(document);
+ if (root != elem.getRealNode())
+ {
+ xmlNode *cpy = xmlCopyNodeList(elem.getRealNode());
+ xmlUnlinkNode(cpy);
+ xmlDocSetRootElement(document, cpy);
+ }
+}
+
+void XMLDocument::setRoot(const std::string & xmlCode, std::string * error) const
+{
+ XMLDocument doc = XMLDocument(xmlCode, false, error);
+
+ if (error->empty())
+ {
+ setRoot(*doc.getRoot());
+ }
+}
+
+const char *XMLDocument::getDocumentURL() const
+{
+ if (document->URL)
+ {
+ return (const char *)document->URL;
+ }
+ else
+ {
+ return "Undefined";
+ }
+}
+
+void XMLDocument::setDocumentURL(const std::string & url) const
+{
+ char *expandedPath = 0;
+ char *newURL = 0;
+ expandedPath = expandPathVariable(const_cast < char *>(url.c_str()));
+
+ if (expandedPath)
+ {
+ xmlFree((void *)document->URL);
+ newURL = (char *)xmlMalloc(sizeof(char *) * (strlen(expandedPath) + 1));
+ memcpy(newURL, expandedPath, sizeof(char) * (strlen(expandedPath) + 1));
+ document->URL = (xmlChar *) newURL;
+ FREE(expandedPath);
+ }
+}
+
+const std::list < XMLDocument * >&XMLDocument::getOpenDocuments()
+{
+ return openDocs;
+}
+
+void XMLDocument::closeAllDocuments()
+{
+ int size = (int)openDocs.size();
+ XMLDocument **arr = new XMLDocument *[size];
+ int j = 0;
+
+ for (std::list < XMLDocument * >::iterator i = openDocs.begin(); i != openDocs.end(); i++, j++)
+ {
+ arr[j] = *i;
+ }
+ for (j = 0; j < size; j++)
+ {
+ delete arr[j];
+ }
+ delete[]arr;
+}
+
+xmlDoc *XMLDocument::readDocument(const char *filename, const char * encoding, bool validate, std::string * error)
+{
+ xmlParserCtxt *ctxt = initContext(error, validate);
+ xmlDoc *doc = 0;
+ int options = XML_PARSE_NSCLEAN | XML_PARSE_NOBLANKS;
+
+ if (validate)
+ {
+ options |= XML_PARSE_DTDVALID;
+ }
+
+ if (!ctxt)
+ {
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ return 0;
+ }
+
+ doc = xmlCtxtReadFile(ctxt, filename, encoding, options);
+ if (!doc || !ctxt->valid)
+ {
+ *error = *errorBuffer;
+ }
+
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ xmlFreeParserCtxt(ctxt);
+
+ return doc;
+}
+
+xmlDoc *XMLDocument::readHTMLDocument(const char *filename, const char * encoding, std::string * error)
+{
+ htmlParserCtxt *ctxt = initHTMLContext(error);
+ htmlDocPtr doc = 0;
+ int options = HTML_PARSE_NOWARNING | HTML_PARSE_NOBLANKS | HTML_PARSE_COMPACT;
+
+ if (!ctxt)
+ {
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ return 0;
+ }
+
+ doc = htmlCtxtReadFile(ctxt, filename, encoding, options);
+ if (!doc || !ctxt->valid)
+ {
+ *error = *errorBuffer;
+ }
+
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ htmlFreeParserCtxt(ctxt);
+
+ return (xmlDoc *)doc;
+}
+
+xmlDoc *XMLDocument::readDocument(const std::string & xmlCode, const char * encoding, bool validate, std::string * error)
+{
+ xmlParserCtxt *ctxt = initContext(error, validate);
+ xmlDoc *doc = 0;
+ int options = XML_PARSE_NSCLEAN | XML_PARSE_NOBLANKS;
+
+ if (validate)
+ {
+ options |= XML_PARSE_DTDVALID;
+ }
+
+ if (!ctxt)
+ {
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ return 0;
+ }
+
+ doc = xmlCtxtReadDoc(ctxt, (const xmlChar *)xmlCode.c_str(), 0, encoding, options);
+ if (!doc || !ctxt->valid)
+ {
+ *error = *errorBuffer;
+ }
+
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ xmlFreeParserCtxt(ctxt);
+
+ return doc;
+}
+
+xmlDoc *XMLDocument::readHTMLDocument(const std::string & htmlCode, const char * encoding, std::string * error)
+{
+ htmlParserCtxt *ctxt = initHTMLContext(error);
+ htmlDocPtr doc = 0;
+ int options = HTML_PARSE_NOWARNING | HTML_PARSE_NOBLANKS | HTML_PARSE_COMPACT;
+
+ if (!ctxt)
+ {
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ return 0;
+ }
+
+ doc = htmlCtxtReadDoc(ctxt, (const xmlChar *)htmlCode.c_str(), 0, encoding, options);
+ if (!doc || !ctxt->valid)
+ {
+ *error = *errorBuffer;
+ }
+
+ xmlSetGenericErrorFunc(0, errorFunctionWithoutOutput);
+ htmlFreeParserCtxt(ctxt);
+
+ return (xmlDoc *)doc;
+}
+
+bool XMLDocument::saveToFile(const std::string & filename, const bool indent) const
+{
+ xmlThrDefIndentTreeOutput(1);
+ return xmlSaveFormatFile(filename.c_str(), document, indent) != -1;
+}
+
+bool XMLDocument::saveToHTMLFile(const std::string & filename, const bool indent) const
+{
+ int ret;
+ int options = XML_SAVE_AS_HTML;
+ if (indent)
+ {
+ options |= XML_SAVE_FORMAT;
+ }
+
+ xmlThrDefIndentTreeOutput(1);
+ xmlSaveCtxtPtr ctxt = xmlSaveToFilename(filename.c_str(), 0, options);
+ ret = xmlSaveDoc(ctxt, document);
+ xmlSaveFlush(ctxt);
+ xmlSaveClose(ctxt);
+
+ return ret != -1;
+}
+
+xmlParserCtxt *XMLDocument::initContext(std::string * error, bool validate)
+{
+ xmlParserCtxt *ctxt;
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string();
+
+ ctxt = xmlNewParserCtxt();
+ if (!ctxt)
+ {
+ errorBuffer->append(gettext("Cannot create a parser context"));
+ *error = *errorBuffer;
+ return 0;
+ }
+
+ if (validate)
+ {
+ ctxt->vctxt.error = (xmlValidityErrorFunc) errorFunction;
+ }
+
+ xmlSetGenericErrorFunc(ctxt, errorFunction);
+
+ return ctxt;
+}
+
+htmlParserCtxt *XMLDocument::initHTMLContext(std::string * error)
+{
+ htmlParserCtxt *ctxt;
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string();
+
+ ctxt = htmlNewParserCtxt();
+ if (!ctxt)
+ {
+ errorBuffer->append(gettext("Cannot create a parser context"));
+ *error = *errorBuffer;
+ return 0;
+ }
+
+ xmlSetGenericErrorFunc((xmlParserCtxt *)ctxt, errorFunction);
+
+ return ctxt;
+}
+
+void XMLDocument::errorFunction(void *ctx, const char *msg, ...)
+{
+ char str[BUFFER_SIZE];
+ va_list args;
+
+ va_start(args, msg);
+ vsnprintf(str, BUFFER_SIZE, msg, args);
+ va_end(args);
+ errorBuffer->append(str);
+}
+
+void XMLDocument::errorXPathFunction(void *ctx, xmlError * error)
+{
+ errorXPathBuffer->append(error->message);
+}
+}
diff --git a/modules/xml/src/cpp/XMLDocument.hxx b/modules/xml/src/cpp/XMLDocument.hxx
new file mode 100755
index 000000000..efab97415
--- /dev/null
+++ b/modules/xml/src/cpp/XMLDocument.hxx
@@ -0,0 +1,235 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLDOCUMENT_HXX__
+#define __XMLDOCUMENT_HXX__
+
+#include <cstdio>
+#include <list>
+#include <cstring>
+#include <string>
+
+#include "dynlib_xml_scilab.h"
+
+extern "C"
+{
+#include "xml.h"
+#ifndef XML_XPATH_CHECKNS
+#define XML_XPATH_CHECKNS
+#endif
+}
+
+#include "XMLObject.hxx"
+
+namespace org_modules_xml
+{
+class XMLElement;
+class XMLObject;
+class XMLXPath;
+class XMLValidation;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to wrap a xmlDoc
+ * @see http://xmlsoft.org/html/libxml-tree.html#xmlDoc
+ */
+class XML_SCILAB_IMPEXP XMLDocument: public XMLObject
+{
+ static std::list < XMLDocument * >&openDocs;
+ xmlDoc *document;
+
+public:
+ /**
+ * Gets the list of open docs
+ * @return the list
+ */
+ static const std::list < XMLDocument * >&getOpenDocuments();
+
+ /**
+ * Closes all the open documents
+ */
+ static void closeAllDocuments();
+
+ /**
+ * Builds a document with a given path (can be an url)
+ * @param path the document path
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @param error a pointer to a string which will receive the error message
+ */
+ XMLDocument(const char *path, bool validate, std::string * error, const char * encoding = 0, const bool html = false);
+
+ /**
+ * Builds a document with a given code
+ * @param xmlCode the XML code
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @param error a pointer to a string which will receive the error message
+ */
+ XMLDocument(const std::string & xmlCode, bool validate, std::string * error, const char * encoding = 0, const bool html = false);
+
+ /**
+ * Builds a simple document
+ * @param uri the document uri
+ * @param version the xml version
+ */
+ XMLDocument(char *uri, char *version);
+
+ ~XMLDocument();
+
+ void *getRealXMLPointer() const;
+
+ /**
+ * @return the xmlDoc behind this XMLDocument
+ */
+ xmlDoc *getRealDocument() const
+ {
+ return document;
+ }
+
+ /**
+ * @param filename the file where to write xml
+ * @param indent if true, the xml is indented
+ * @return true if all is ok
+ */
+ bool saveToFile(const std::string & filename, const bool indent) const;
+
+ /**
+ * @param filename the file where to write xml
+ * @param indent if true, the xml is indented
+ * @return true if all is ok
+ */
+ bool saveToHTMLFile(const std::string & filename, const bool indent) const;
+
+ /**
+ * @return the document root
+ */
+ const XMLElement *getRoot() const;
+
+ /**
+ * @param value the root to set
+ */
+ void setRoot(const XMLElement & value) const;
+
+ /**
+ * Replaces the root element by the root of the xmlCode/
+ * @param xmlCode the XML code
+ * @param error a pointer to a string which will receive the error message
+ */
+ void setRoot(const std::string & xmlCode, std::string * error) const;
+
+ /**
+ * @return the document URL
+ */
+ const char *getDocumentURL() const;
+
+ /**
+ * @param value the document URL to set
+ */
+ void setDocumentURL(const std::string & value) const;
+
+ /**
+ * Makes an XPath query on the document
+ * @param query the XPath query
+ * @param namespaces an a matrix nx2 containing mapping between prefix and href
+ * @param length the number of namespaces
+ * @param the node from where start the query
+ * @param error a pointer to a string which will receive the error message
+ * @return a pointer on a XPath object
+ */
+ const XMLXPath *makeXPathQuery(const char *query, char **namespaces, int length, const XMLElement * e, std::string * error);
+
+ const XMLObject *getXMLObjectParent() const;
+ const std::string dump(bool indent) const;
+ const std::string dumpHTML(bool indent) const;
+ const std::string toString() const;
+
+private:
+ /**
+ * Error function for the XML parser
+ * @see http://xmlsoft.org/html/libxml-xmlerror.html#xmlGenericErrorFunc
+ */
+ static void errorFunction(void *ctx, const char *msg, ...);
+
+ /**
+ * Error function which does nothing for the XML parser
+ * @see http://xmlsoft.org/html/libxml-xmlerror.html#xmlGenericErrorFunc
+ */
+ static void errorFunctionWithoutOutput(void *ctx, const char *msg, ...)
+ {
+ }
+
+ /**
+ * Error function used when the XPath query is compiled/
+ * @see http://xmlsoft.org/html/libxml-xmlerror.html#xmlStructuredErrorFunc
+ */
+ static void errorXPathFunction(void *ctx, xmlError * error);
+
+ /**
+ * Reads and parses a document given in a file.
+ * @param filename the file name
+ * @param encoding the file encoding
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @param error a string where to write the parsing errors
+ * @return a pointer on a xmlDoc
+ */
+ static xmlDoc *readDocument(const char *filename, const char * encoding, bool validate, std::string * error);
+
+ /**
+ * Read and parse a document given in a string.
+ * @param xmlCode the XML code
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @param error a string where to write the parsing errors
+ * @return a pointer on a xmlDoc
+ */
+ static xmlDoc *readDocument(const std::string & xmlCode, const char * encoding, bool validate, std::string * error);
+
+ /**
+ * Reads and parses a document given in a file.
+ * @param filename the file name
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @param error a string where to write the parsing errors
+ * @return a pointer on a xmlDoc
+ */
+ static xmlDoc *readHTMLDocument(const char *filename, const char * encoding, std::string * error);
+
+ /**
+ * Read and parse a document given in a string.
+ * @param xmlCode the XML code
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @param error a string where to write the parsing errors
+ * @return a pointer on a xmlDoc
+ */
+ static xmlDoc *readHTMLDocument(const std::string & xmlCode, const char * encoding, std::string * error);
+
+ /**
+ * Initializes the context
+ * @param error a string where to write the parsing errors
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @return a pointer on a context
+ */
+ static xmlParserCtxt *initContext(std::string * error, bool validate);
+
+ /**
+ * Initializes the context
+ * @param error a string where to write the parsing errors
+ * @param validate a boolean to indicate if the document must be validated in using a DTD
+ * @return a pointer on a context
+ */
+ static htmlParserCtxt *initHTMLContext(std::string * error);
+
+ static std::string * errorBuffer;
+ static std::string * errorXPathBuffer;
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLElement.cpp b/modules/xml/src/cpp/XMLElement.cpp
new file mode 100755
index 000000000..eba6351f1
--- /dev/null
+++ b/modules/xml/src/cpp/XMLElement.cpp
@@ -0,0 +1,333 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012-2014 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLElement.hxx"
+#include "XMLDocument.hxx"
+#include "XMLNodeList.hxx"
+#include "XMLNs.hxx"
+#include "XMLAttr.hxx"
+#include "VariableScope.hxx"
+
+extern "C"
+{
+ extern const char *nodes_type[];
+}
+
+namespace org_modules_xml
+{
+
+XMLElement::XMLElement(const XMLDocument & _doc, xmlNode * _node): XMLObject(), allocated(false), doc(_doc)
+{
+ node = _node;
+ scope->registerPointers(node, this);
+ scilabType = XMLELEMENT;
+ id = scope->getVariableId(*this);
+}
+
+XMLElement::XMLElement(const XMLDocument & _doc, const char *name): XMLObject(), allocated(true), doc(_doc)
+{
+ node = xmlNewNode(0, (const xmlChar *)name);
+ scope->registerPointers(node, this);
+ scilabType = XMLELEMENT;
+ id = scope->getVariableId(*this);
+}
+
+XMLElement::~XMLElement()
+{
+ scope->unregisterPointer(node);
+ scope->removeId(id);
+
+ if (allocated)
+ {
+ xmlFreeNode(node);
+ }
+}
+
+void *XMLElement::getRealXMLPointer() const
+{
+ return static_cast < void *>(node);
+}
+
+void XMLElement::remove() const
+{
+ XMLNodeList *obj = 0;
+
+ if (node->parent && node->parent->children)
+ {
+ obj = scope->getXMLNodeListFromLibXMLPtr(node->parent->children);
+ if (obj && node->parent->children == node)
+ {
+ // node->parent->children == node => we remove the first child so parent->children
+ // needs to be correctly re-linked.
+ obj->removeElementAtPosition(1);
+ return;
+ }
+ }
+
+ xmlUnlinkNode(node);
+ xmlFreeNode(node);
+
+ if (obj)
+ {
+ obj->revalidateSize();
+ }
+}
+
+const XMLObject *XMLElement::getXMLObjectParent() const
+{
+ return &doc;
+}
+
+const char *XMLElement::getNodeContent() const
+{
+ return (const char *)xmlNodeGetContent(node);
+}
+
+void XMLElement::setNodeName(const std::string & name) const
+{
+ xmlNodeSetName(node, (const xmlChar *)name.c_str());
+}
+
+void XMLElement::setNodeNameSpace(const XMLNs & ns) const
+{
+ xmlNs *n = ns.getRealNs();
+ if (n)
+ {
+ if (!n->prefix || !xmlSearchNs(doc.getRealDocument(), node, n->prefix))
+ {
+ n = xmlNewNs(node, (const xmlChar *)ns.getHref(), (const xmlChar *)ns.getPrefix());
+ }
+ xmlSetNs(node, n);
+ }
+}
+
+void XMLElement::setNodeContent(const std::string & content) const
+{
+ xmlNodeSetContent(node, (const xmlChar *)content.c_str());
+}
+
+void XMLElement::setAttributes(const XMLAttr & attrs) const
+{
+ xmlNode *attrNode = attrs.getElement().getRealNode();
+ if (node != attrNode)
+ {
+ xmlFreePropList(node->properties);
+ node->properties = 0;
+ xmlCopyPropList(node, attrNode->properties);
+ }
+}
+
+void XMLElement::setAttributeValue(const char **prefix, const char **name, const char **value, int size) const
+{
+ XMLAttr::setAttributeValue(node, prefix, name, value, size);
+}
+
+void XMLElement::setAttributeValue(const char **name, const char **value, int size) const
+{
+ XMLAttr::setAttributeValue(node, name, value, size);
+}
+
+void XMLElement::append(const XMLElement & elem) const
+{
+ XMLNodeList * list = 0;
+ xmlNode *cpy = xmlCopyNode(elem.getRealNode(), 1);
+ xmlUnlinkNode(cpy);
+ xmlAddChild(node, cpy);
+
+ list = scope->getXMLNodeListFromLibXMLPtr(node->children);
+ if (list)
+ {
+ list->incrementSize();
+ }
+}
+
+void XMLElement::setChildren(const XMLElement & elem) const
+{
+ xmlNode *n = elem.getRealNode();
+ if (n && n->parent != node)
+ {
+ xmlNode *cpy = xmlCopyNode(n, 1);
+ xmlUnlinkNode(cpy);
+ xmlUnlinkNode(node->children);
+ xmlFreeNodeList(node->children);
+ node->children = 0;
+ xmlAddChild(node, cpy);
+ }
+}
+
+void XMLElement::setChildren(const XMLNodeList & list) const
+{
+ xmlNode *n = list.getRealNode();
+ if (n && n->parent != node)
+ {
+ xmlNode *cpy = xmlCopyNodeList(n);
+ xmlUnlinkNode(node->children);
+ xmlFreeNodeList(node->children);
+ node->children = 0;
+ xmlAddChildList(node, cpy);
+ }
+}
+
+void XMLElement::setChildren(const std::string & xmlCode) const
+{
+ std::string error;
+ XMLDocument document = XMLDocument(xmlCode, false, &error);
+
+ if (error.empty())
+ {
+ setChildren(*document.getRoot());
+ }
+ else
+ {
+ xmlNode *n = xmlNewText((xmlChar *) xmlCode.c_str());
+
+ setChildren(XMLElement(doc, n));
+ }
+}
+
+void XMLElement::addNamespace(const XMLNs & ns) const
+{
+ xmlNewNs(node, (const xmlChar *)ns.getHref(), (const xmlChar *)ns.getPrefix());
+}
+
+const XMLNs *XMLElement::getNamespaceByPrefix(const char *prefix) const
+{
+ xmlNs *ns = xmlSearchNs(doc.getRealDocument(), node, (const xmlChar *)prefix);
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(ns);
+ if (obj)
+ {
+ return static_cast < XMLNs * >(obj);
+ }
+
+ return new XMLNs(*this, ns);
+}
+
+const XMLNs *XMLElement::getNamespaceByHref(const char *href) const
+{
+ xmlNs *ns = xmlSearchNsByHref(doc.getRealDocument(), node, (const xmlChar *)href);
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(ns);
+ if (obj)
+ {
+ return static_cast < XMLNs * >(obj);
+ }
+
+ return new XMLNs(*this, ns);
+}
+
+const std::string XMLElement::dump(bool indent) const
+{
+ xmlBufferPtr buffer = xmlBufferCreate();
+ xmlNodeDump(buffer, doc.getRealDocument(), node, 0, indent ? 1 : 0);
+ std::string str = std::string((const char *)buffer->content);
+ xmlBufferFree(buffer);
+
+ return str;
+}
+
+const std::string XMLElement::toString() const
+{
+ std::ostringstream oss;
+ std::string ns = "";
+ std::string prefix = "";
+
+ if (node->ns)
+ {
+ if (node->ns->href)
+ {
+ ns = std::string((const char *)node->ns->href);
+ }
+
+ if (node->ns->prefix)
+ {
+ prefix = std::string((const char *)node->ns->prefix);
+ }
+ }
+
+ oss << "XML Element" << std::endl
+ << "name: " << getNodeName() << std::endl
+ << "namespace: XML Namespace" << std::endl
+ << " href: " << ns << std::endl
+ << " prefix: " << prefix << std::endl
+ << "type: " << nodes_type[getNodeType() - 1] << std::endl
+ << "parent: XML Element" << std::endl
+ << "attributes: [1 x " << XMLAttr::getSize(node->properties) << "]" << std::endl
+ << "children: [1 x " << XMLNodeList::getNodeListSize(node->children) << "]" << std::endl
+ << "content: ..." << std::endl
+ << "line: " << node->line;
+
+ return oss.str();
+}
+
+int XMLElement::getDefinitionLine() const
+{
+ return node->line;
+}
+
+const XMLNs *XMLElement::getNodeNameSpace() const
+{
+ if (node->ns)
+ {
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(node->ns);
+ if (obj)
+ {
+ return static_cast < XMLNs * >(obj);
+ }
+
+ return new XMLNs(*this, node->ns);
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+const XMLNodeList *XMLElement::getChildren() const
+{
+ XMLNodeList *obj = scope->getXMLNodeListFromLibXMLPtr(node->children);
+ if (obj)
+ {
+ return obj;
+ }
+
+ return new XMLNodeList(doc, node);
+}
+
+const XMLAttr *XMLElement::getAttributes() const
+{
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(node->properties);
+ if (obj)
+ {
+ return static_cast < XMLAttr * >(obj);
+ }
+
+ return new XMLAttr(*this);
+}
+
+const XMLElement *XMLElement::getParentElement() const
+{
+ if (node->parent && node->parent->type == XML_ELEMENT_NODE)
+ {
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(node->parent);
+ if (obj)
+ {
+ return static_cast < XMLElement * >(obj);
+ }
+
+ return new XMLElement(doc, node->parent);
+ }
+ else
+ {
+ return 0;
+ }
+}
+}
diff --git a/modules/xml/src/cpp/XMLElement.hxx b/modules/xml/src/cpp/XMLElement.hxx
new file mode 100755
index 000000000..f5ea8a658
--- /dev/null
+++ b/modules/xml/src/cpp/XMLElement.hxx
@@ -0,0 +1,203 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLELEMENT_HXX__
+#define __XMLELEMENT_HXX__
+
+#include <string>
+#include "dynlib_xml_scilab.h"
+#include "XMLRemovable.hxx"
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+class XMLObject;
+class XMLDocument;
+class XMLNodeList;
+class XMLNs;
+class XMLAttr;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to wrap a xmlNode
+ * @see http://xmlsoft.org/html/libxml-tree.html#xmlNode
+ */
+class XML_SCILAB_IMPEXP XMLElement: public XMLObject, public XMLRemovable
+{
+ bool allocated;
+ xmlNode *node;
+ const XMLDocument & doc;
+
+public:
+
+ /**
+ * @param doc the owner document of this XMLElement
+ * @param node the xmlNode to wrap
+ */
+ XMLElement(const XMLDocument & doc, xmlNode * node);
+
+ /**
+ * @param doc the owner document of this XMLElement
+ * @param name the name of the XMLElement
+ */
+ XMLElement(const XMLDocument & doc, const char *name);
+
+ ~XMLElement();
+
+ void *getRealXMLPointer() const;
+
+ void remove() const;
+
+ /**
+ * @return the node name
+ */
+ const char *getNodeName(void) const
+ {
+ return node->name ? (const char *)node->name : "";
+ }
+
+ /**
+ * Sets the node name
+ * @param name the node name
+ */
+ void setNodeName(const std::string & name) const;
+
+ /**
+ * @return the namespace associated to this node
+ */
+ const XMLNs *getNodeNameSpace() const;
+
+ /**
+ * Sets the namespace of this node
+ * @param ns the namespace
+ */
+ void setNodeNameSpace(const XMLNs & ns) const;
+
+ /**
+ * Gets the node contents
+ * @see http://xmlsoft.org/html/libxml-tree.html#xmlNodeGetContent
+ * @return the node content
+ */
+ const char *getNodeContent() const;
+
+ /**
+ * Sets the node content
+ * @param content the new node contents
+ */
+ void setNodeContent(const std::string & content) const;
+
+ /**
+ * @return the node type
+ * @see http://xmlsoft.org/html/libxml-tree.html#xmlElementType
+ */
+ int getNodeType(void) const
+ {
+ return node->type;
+ }
+
+ /**
+ * @return the attributes of this node
+ */
+ const XMLAttr *getAttributes(void) const;
+
+ /**
+ * Sets the attributes of this node
+ * @param attrs the new attributes
+ */
+ void setAttributes(const XMLAttr & attrs) const;
+
+ /**
+ * @return the parent XMLElement
+ */
+ const XMLElement *getParentElement() const;
+
+ /**
+ * @return a list of the children of this node
+ */
+ const XMLNodeList *getChildren() const;
+
+ /**
+ * Replaces the children of this node by an XMLElement
+ * @param elem the new child
+ */
+ void setChildren(const XMLElement & elem) const;
+
+ /**
+ * Replaces the children of this node by a list of nodes
+ * @param list the new children
+ */
+ void setChildren(const XMLNodeList & list) const;
+
+ /**
+ * Replaces the children of this node by a new one given by a XML code
+ * @param xmlCode the XML code of the new child
+ */
+ void setChildren(const std::string & xmlCode) const;
+
+ /**
+ * Adds a namespace to this node which can be used by the children
+ * @param ns the namespace to add
+ */
+ void addNamespace(const XMLNs & ns) const;
+
+ /**
+ * Gets the namespace which has a given prefix. If it is not found in this
+ * node, then it will be searched in the parents.
+ * @see http://xmlsoft.org/html/libxml-tree.html#xmlSearchNs
+ * @param prefix the prefix
+ * @return the corresponding namespace or 0 if not found
+ */
+ const XMLNs *getNamespaceByPrefix(const char *prefix) const;
+
+ /**
+ * Gets the namespace which has a given href. If it is not found in this
+ * node, then it will be searched in the parents.
+ * @see http://xmlsoft.org/html/libxml-tree.html#xmlSearchNsByHref
+ * @param href the href
+ * @return the corresponding namespace or 0 if not found
+ */
+ const XMLNs *getNamespaceByHref(const char *href) const;
+
+ /**
+ * @return the libxml node behind this object
+ */
+ xmlNode *getRealNode() const
+ {
+ return node;
+ }
+
+ /**
+ * @return the XMLDocument which is the parent or this XMLElement
+ */
+ const XMLDocument & getXMLDocument() const
+ {
+ return doc;
+ }
+
+ /**
+ * @return the defintion line of this XMLElement
+ */
+ int getDefinitionLine() const;
+
+ void setAttributeValue(const char **prefix, const char **name, const char **value, int size) const;
+ void setAttributeValue(const char **name, const char **value, int size) const;
+ void append(const XMLElement & elem) const;
+ const XMLObject *getXMLObjectParent() const;
+ const std::string dump(bool indent) const;
+ const std::string toString() const;
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLList.cpp b/modules/xml/src/cpp/XMLList.cpp
new file mode 100755
index 000000000..03056a18b
--- /dev/null
+++ b/modules/xml/src/cpp/XMLList.cpp
@@ -0,0 +1,32 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLList.hxx"
+
+namespace org_modules_xml
+{
+XMLList::XMLList(): XMLObject(), size(0)
+{
+ scilabType = XMLLIST;
+}
+
+const std::string XMLList::toString() const
+{
+ std::ostringstream oss;
+
+ oss << "XML List" << std::endl;
+ oss << "size: " << getSize();
+
+ return oss.str();
+}
+}
diff --git a/modules/xml/src/cpp/XMLList.hxx b/modules/xml/src/cpp/XMLList.hxx
new file mode 100755
index 000000000..54a291abd
--- /dev/null
+++ b/modules/xml/src/cpp/XMLList.hxx
@@ -0,0 +1,119 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLLIST_HXX__
+#define __XMLLIST_HXX__
+
+#include <string>
+#include "XMLRemovable.hxx"
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+class XMLObject;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Virtual class to handle a list of XMLObjects
+ */
+class XMLList: public XMLObject, public XMLRemovable
+{
+
+public:
+ /**
+ * Gets the element with the given index.
+ * @param index the element index
+ * @return the corresponding object
+ */
+ virtual const XMLObject *getListElement(int index) = 0;
+
+ /**
+ * Default constructor
+ */
+ XMLList();
+
+ /**
+ * @return the list size
+ */
+ int getSize() const
+ {
+ return size;
+ }
+
+ void incrementSize()
+ {
+ size++;
+ }
+
+ /**
+ * Get the content of each node of the list
+ * @return an array of strings
+ */
+ virtual const char **getContentFromList() const = 0;
+
+ /**
+ * Get the name of each node of the list
+ * @return an array of strings
+ */
+ virtual const char **getNameFromList() const = 0;
+
+ const std::string toString() const;
+
+protected:
+ int size;
+
+ /**
+ * Gets an element in a linked list with a given index.
+ * The element is reached from a previous element which has an index.
+ * This way to search the element is faster in a for loop where the indexes are
+ * consecutives.
+ * @param index the searched index
+ * @param max the max
+ * @param prev a pointer on the previous index (*prev is modified by this function)
+ * @param prevElem a pointer on the previous element (*prevElem is modified by this function)
+ * @return the found element
+ */
+ template < typename T > static T *getListElement(int index, int max, int *prev, T ** prevElem)
+ {
+ if (index >= 1 && index <= max)
+ {
+ if (index != *prev)
+ {
+ if (index < *prev)
+ {
+ for (int i = *prev; i > index; i--, *prevElem = (*prevElem)->prev)
+ {
+ ;
+ }
+ }
+ else
+ {
+ for (int i = *prev; i < index; i++, *prevElem = (*prevElem)->next)
+ {
+ ;
+ }
+ }
+ *prev = index;
+ }
+
+ return *prevElem;
+ }
+
+ return 0;
+ }
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLList_insertion.hxx b/modules/xml/src/cpp/XMLList_insertion.hxx
new file mode 100755
index 000000000..9eef0bf8b
--- /dev/null
+++ b/modules/xml/src/cpp/XMLList_insertion.hxx
@@ -0,0 +1,121 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLLIST_INSERT_HPP__
+#define __XMLLIST_INSERT_HPP__
+
+#include "XMLRhsValue.hxx"
+
+extern "C"
+{
+#include <stdio.h>
+#include "gw_xml.h"
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "xml_mlist.h"
+#include "localization.h"
+}
+
+using namespace org_modules_xml;
+
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Function to handle insertion in XMLNodeList
+ * @param fname the function name
+ * @param fname_len the function name length
+ */
+template <class T>
+int sci_XMLList_insertion(char * fname, void* pvApiCtx)
+{
+ XMLNodeList * a;
+ T * b;
+ int lhsid;
+ bool success;
+ double index;
+ SciErr err;
+ int * indexaddr = 0;
+ int * rhsaddr = 0;
+ int * lhsaddr = 0;
+
+ CheckLhs(1, 1);
+ CheckRhs(3, 3);
+
+ err = getVarAddressFromPosition(pvApiCtx, 1, &indexaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (!isDoubleType(pvApiCtx, indexaddr))
+ {
+ Scierror(999, gettext("%s: Wrong type for input argument #%i: A double expected.\n"), fname, 1);
+ return 0;
+ }
+
+ getScalarDouble(pvApiCtx, indexaddr, &index);
+
+ err = getVarAddressFromPosition(pvApiCtx, 2, &rhsaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ err = getVarAddressFromPosition(pvApiCtx, 3, &lhsaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ lhsid = getXMLObjectId(lhsaddr, pvApiCtx);
+ a = XMLObject::getFromId<XMLNodeList>(lhsid);
+ if (!a)
+ {
+ Scierror(999, gettext("%s: XML object does not exist.\n"), fname);
+ return 0;
+ }
+
+ success = XMLRhsValue::get(fname, rhsaddr, &b, pvApiCtx);
+ if (!success)
+ {
+ Scierror(999, gettext("%s: Error in getting rhs argument.\n"), fname);
+ return 0;
+ }
+
+ a->setElementAtPosition(index, *b);
+
+ if (typeid(T) == typeid(std::string))
+ {
+ delete b;
+ }
+
+ if (a->createOnStack(Rhs + 1, pvApiCtx))
+ {
+ LhsVar(1) = Rhs + 1;
+ }
+ else
+ {
+ LhsVar(1) = 0;
+ }
+
+ PutLhsVar();
+
+ return 0;
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLNodeList.cpp b/modules/xml/src/cpp/XMLNodeList.cpp
new file mode 100755
index 000000000..496f03b03
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNodeList.cpp
@@ -0,0 +1,355 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012-2014 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include <string>
+
+#include "XMLObject.hxx"
+#include "XMLDocument.hxx"
+#include "XMLAttr.hxx"
+#include "XMLElement.hxx"
+#include "XMLNodeList.hxx"
+#include "VariableScope.hxx"
+
+namespace org_modules_xml
+{
+
+XMLNodeList::XMLNodeList(const XMLDocument & _doc, xmlNode * _parent): XMLList(), doc(_doc)
+{
+ parent = _parent;
+ size = getNodeListSize(parent->children);
+ prev = 1;
+ prevNode = parent->children;
+ scope->registerPointers(parent->children, this);
+ id = scope->getVariableId(*this);
+}
+
+XMLNodeList::~XMLNodeList()
+{
+ scope->unregisterNodeListPointer(parent->children);
+ scope->removeId(id);
+}
+
+void *XMLNodeList::getRealXMLPointer() const
+{
+ return static_cast < void *>(parent->children);
+}
+
+const char **XMLNodeList::getContentFromList() const
+{
+ const char **list = new const char *[size];
+ int i = 0;
+ for (xmlNode * cur = parent->children; cur; cur = cur->next, i++)
+ {
+ list[i] = (const char *)xmlNodeGetContent(cur);
+ }
+
+ return list;
+}
+
+const char **XMLNodeList::getNameFromList() const
+{
+ const char **list = new const char *[size];
+ int i = 0;
+ for (xmlNode * cur = parent->children; cur; cur = cur->next, i++)
+ {
+ list[i] = cur->name ? (const char *)cur->name : "";
+ }
+
+ return list;
+}
+
+void XMLNodeList::setAttributeValue(const char **prefix, const char **name, const char **value, int lsize) const
+{
+ for (xmlNode * cur = parent->children; cur; cur = cur->next)
+ {
+ XMLAttr::setAttributeValue(cur, prefix, name, value, lsize);
+ }
+}
+
+void XMLNodeList::setAttributeValue(const char **name, const char **value, int lsize) const
+{
+ for (xmlNode * cur = parent->children; cur; cur = cur->next)
+ {
+ XMLAttr::setAttributeValue(cur, name, value, lsize);
+ }
+}
+
+void XMLNodeList::remove() const
+{
+ xmlNode *cur = parent->children;
+
+ while (cur != NULL)
+ {
+ xmlNode *nxt = cur->next;
+ xmlUnlinkNode(cur);
+ xmlFreeNode(cur);
+ cur = nxt;
+ }
+}
+
+const XMLObject *XMLNodeList::getXMLObjectParent() const
+{
+ return &doc;
+}
+
+const std::string XMLNodeList::dump() const
+{
+ xmlBufferPtr buffer = xmlBufferCreate();
+ for (xmlNode * cur = parent->children; cur; cur = cur->next)
+ {
+ xmlNodeDump(buffer, doc.getRealDocument(), cur, 0, 1);
+ xmlBufferAdd(buffer, (xmlChar *) "\n", (int)strlen("\n"));
+ }
+ std::string str = std::string((const char *)buffer->content);
+
+ xmlBufferFree(buffer);
+
+ return str;
+}
+
+const XMLObject *XMLNodeList::getListElement(int index)
+{
+ xmlNode *n = getListNode(index);
+
+ if (n)
+ {
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(n);
+
+ if (obj)
+ {
+ return static_cast < XMLElement * >(obj);
+ }
+
+ return new XMLElement(doc, n);
+ }
+
+ return 0;
+}
+
+void XMLNodeList::removeElementAtPosition(int index)
+{
+ if (size && index >= 1 && index <= size)
+ {
+ if (index == 1)
+ {
+ xmlNode *n = parent->children;
+
+ scope->unregisterNodeListPointer(n);
+ xmlUnlinkNode(n);
+ xmlFreeNode(n);
+ size--;
+ if (size == 0)
+ {
+ parent->children = 0;
+ }
+ prevNode = parent->children;
+ scope->registerPointers(parent->children, this);
+ prev = 1;
+ }
+ else
+ {
+ xmlNode *n = getListNode(index);
+
+ if (n)
+ {
+ xmlNode *next = n->next;
+
+ prevNode = prevNode->prev;
+ prev--;
+ xmlUnlinkNode(n);
+ xmlFreeNode(n);
+ prevNode->next = next;
+ size--;
+ }
+ }
+ }
+}
+
+void XMLNodeList::setElementAtPosition(double index, const XMLElement & elem)
+{
+ if (size == 0)
+ {
+ insertAtEnd(elem);
+ prevNode = parent->children;
+ prev = 1;
+ }
+ else if (index < 1)
+ {
+ insertAtBeginning(elem);
+ }
+ else if (index > size)
+ {
+ insertAtEnd(elem);
+ }
+ else if ((int)index == index)
+ {
+ replaceAtIndex((int)index, elem);
+ }
+ else
+ {
+ insertAtIndex((int)index, elem);
+ }
+}
+
+void XMLNodeList::setElementAtPosition(double index, const XMLDocument & document)
+{
+ const XMLElement *e = document.getRoot();
+
+ setElementAtPosition(index, *e);
+ delete e;
+}
+
+void XMLNodeList::setElementAtPosition(double index, const std::string & xmlCode)
+{
+ std::string error;
+ XMLDocument document = XMLDocument(xmlCode, false, &error);
+
+ if (error.empty())
+ {
+ setElementAtPosition(index, document);
+ }
+ else
+ {
+ xmlNode *n = xmlNewText((xmlChar *) xmlCode.c_str());
+
+ setElementAtPosition(index, XMLElement(doc, n));
+ }
+}
+
+void XMLNodeList::setElementAtPosition(double index, const XMLNodeList & list)
+{
+ if (list.getSize() && list.getRealNode() != parent)
+ {
+ xmlNode * node = 0;
+ xmlNode * snode = 0;
+ int pos = (int)index;
+
+ if (index < 1)
+ {
+ pos = 1;
+ }
+ else if (index > size)
+ {
+ pos = size + 1;
+ }
+ else if ((int)index != index)
+ {
+ pos++;
+ }
+
+ if (&list == this)
+ {
+ snode = node = xmlCopyNode(list.getRealNode(), 1);
+ for (xmlNode * cur = list.getRealNode()->next; cur; cur = cur->next)
+ {
+ node->next = xmlCopyNode(cur, 1);
+ node = node->next;
+ }
+ node = snode;
+ }
+ else
+ {
+ node = list.getRealNode();
+ }
+
+ setElementAtPosition(index, XMLElement(doc, node));
+ for (xmlNode * cur = node->next; cur; cur = cur->next)
+ {
+ setElementAtPosition((double)(pos++) + 0.5, XMLElement(doc, cur));
+ }
+ }
+}
+
+void XMLNodeList::replaceAtIndex(int index, const XMLElement & elem)
+{
+ xmlNode *n = getListNode(index);
+
+ if (n && n != elem.getRealNode())
+ {
+ if (index == 1)
+ {
+ scope->unregisterNodeListPointer(parent->children);
+ }
+ xmlNode *previous = n->prev;
+ xmlNode *next = n->next;
+ xmlNode *cpy = xmlCopyNode(elem.getRealNode(), 1);
+ xmlUnlinkNode(cpy);
+ xmlReplaceNode(n, cpy);
+ xmlFreeNode(n);
+ prevNode = cpy;
+ cpy->prev = previous;
+ cpy->next = next;
+ if (index == 1)
+ {
+ scope->registerPointers(parent->children, this);
+ }
+ }
+}
+
+void XMLNodeList::insertAtEnd(const XMLElement & elem)
+{
+ xmlNode *cpy = xmlCopyNode(elem.getRealNode(), 1);
+
+ xmlUnlinkNode(cpy);
+ xmlAddChild(parent, cpy);
+ size++;
+}
+
+void XMLNodeList::insertAtBeginning(const XMLElement & elem)
+{
+ xmlNode *cpy = xmlCopyNode(elem.getRealNode(), 1);
+
+ xmlUnlinkNode(cpy);
+ scope->unregisterNodeListPointer(parent->children);
+ xmlAddPrevSibling(parent->children, cpy);
+ scope->registerPointers(parent->children, this);
+ size++;
+}
+
+void XMLNodeList::insertAtIndex(int index, const XMLElement & elem)
+{
+ xmlNode *n = getListNode(index);
+
+ if (n)
+ {
+ xmlNode *cpy = xmlCopyNode(elem.getRealNode(), 1);
+
+ xmlUnlinkNode(cpy);
+ xmlAddNextSibling(n, cpy);
+ size++;
+ }
+}
+
+xmlNode *XMLNodeList::getListNode(int index)
+{
+ return XMLList::getListElement < xmlNode > (index, size, &prev, &prevNode);
+}
+
+void XMLNodeList::revalidateSize()
+{
+ size = getNodeListSize(parent->children);
+ prevNode = parent->children;
+ prev = 1;
+}
+
+int XMLNodeList::getNodeListSize(xmlNode * node)
+{
+ int i = 0;
+
+ for (xmlNode * n = node; n; n = n->next, i++)
+ {
+ ;
+ }
+
+ return i;
+}
+}
diff --git a/modules/xml/src/cpp/XMLNodeList.hxx b/modules/xml/src/cpp/XMLNodeList.hxx
new file mode 100755
index 000000000..abb9fac29
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNodeList.hxx
@@ -0,0 +1,160 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012-2014 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLNODELIST_HXX__
+#define __XMLNODELIST_HXX__
+
+#include "XMLList.hxx"
+#include "dynlib_xml_scilab.h"
+#include "xml.h"
+
+namespace org_modules_xml
+{
+class XMLElement;
+class XMLDocument;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to wrap the list of the children of a node
+ */
+class XML_SCILAB_IMPEXP XMLNodeList: public XMLList
+{
+
+ const XMLDocument & doc;
+ xmlNode *parent;
+ int prev;
+ xmlNode *prevNode;
+
+public:
+ /**
+ * Default constructor
+ * @param doc the XMLDocument where this nodelist is
+ * @param parent the parent node
+ */
+ XMLNodeList(const XMLDocument & doc, xmlNode * parent);
+
+ ~XMLNodeList();
+
+ void *getRealXMLPointer() const;
+
+ const char **getContentFromList() const;
+
+ const char **getNameFromList() const;
+
+ void remove() const;
+
+ /**
+ * Removes an element
+ * @param index the index of the element to remove
+ */
+ void removeElementAtPosition(int index);
+
+ /**
+ * @anchor setElementAtPosition
+ * Sets an element at a given index.
+ * If the index is an integer, then according to the index value the element
+ * will be inserted at tail, or will replaced the existing one.
+ * If the index is not an integer, then the element will be inserted between the
+ * elements with indexes floor(index) and floor(index)+1.
+ * @param index the index
+ * @param elem the element to insert
+ */
+ void setElementAtPosition(double index, const XMLElement & elem);
+
+ /**
+ * See @ref setElementAtPosition
+ * @param index the index
+ * @param document the document containing the root which will be inserted
+ */
+ void setElementAtPosition(double index, const XMLDocument & document);
+
+ /**
+ * See @ref setElementAtPosition
+ * @param index the index
+ * @param xmlCode the XML code for the element which will be inserted
+ */
+ void setElementAtPosition(double index, const std::string & xmlCode);
+
+ /**
+ * See @ref setElementAtPosition
+ * @param index the index
+ * @param list the list of the elements which will be inserted
+ */
+ void setElementAtPosition(double index, const XMLNodeList & list);
+
+ /**
+ * Gets the parent node behind this children list.
+ * @return the parent node
+ */
+ xmlNode *getRealNode() const
+ {
+ return parent->children;
+ }
+
+ void setAttributeValue(const char **prefix, const char **name, const char **value, int lsize) const;
+ void setAttributeValue(const char **name, const char **value, int lsize) const;
+ const XMLObject *getXMLObjectParent() const;
+ const std::string dump() const;
+ const XMLObject *getListElement(int index);
+
+ /**
+ * Revalidate size after an eventual alteration (such as an element removal)
+ */
+ void revalidateSize();
+
+ /**
+ * Gets the node list size
+ * @param node the xmlNode
+ * @return the size
+ */
+ static int getNodeListSize(xmlNode * node);
+protected:
+ /**
+ * Replaces an element at a given index
+ * @param index the index
+ * @param elem the new element
+ */
+ void replaceAtIndex(int index, const XMLElement & elem);
+
+ /**
+ * Inserts an element at beginning
+ * @param elem the element to insert
+ */
+ void insertAtEnd(const XMLElement & elem);
+
+ /**
+ * Inserts an element at end
+ * @param elem the element to insert
+ */
+ void insertAtBeginning(const XMLElement & elem);
+
+ /**
+ * Inserts an element at a given index
+ * @param index the index
+ * @param elem the element to insert
+ */
+ void insertAtIndex(int index, const XMLElement & elem);
+
+private:
+ /**
+ * Gets a node at a given index
+ * @param index the index
+ * @return the correspionding node
+ */
+ xmlNode *getListNode(int index);
+
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLNodeSet.cpp b/modules/xml/src/cpp/XMLNodeSet.cpp
new file mode 100755
index 000000000..75ff6ff14
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNodeSet.cpp
@@ -0,0 +1,157 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include <string>
+
+#include "XMLObject.hxx"
+#include "XMLElement.hxx"
+#include "XMLDocument.hxx"
+#include "XMLAttr.hxx"
+#include "XMLNs.hxx"
+#include "XMLNotHandledElement.hxx"
+#include "XMLNodeSet.hxx"
+#include "VariableScope.hxx"
+
+namespace org_modules_xml
+{
+
+ XMLNodeSet::XMLNodeSet(const XMLDocument & _doc, xmlXPathObject * _xpath):XMLList(), doc(_doc), xpath(_xpath)
+ {
+ nodeSet = xpath->nodesetval;
+ if (nodeSet)
+ {
+ scope->registerPointers(nodeSet, this);
+ size = nodeSet->nodeNr;
+ }
+ else
+ {
+ size = 0;
+ }
+ scilabType = XMLSET;
+ id = scope->getVariableId(*this);
+ }
+
+ XMLNodeSet::~XMLNodeSet()
+ {
+ scope->unregisterPointer(nodeSet);
+ scope->removeId(id);
+ xmlXPathFreeObject(xpath);
+ }
+
+ void *XMLNodeSet::getRealXMLPointer() const
+ {
+ return static_cast < void *>(nodeSet);
+ }
+
+ const char **XMLNodeSet::getContentFromList() const
+ {
+ const char **list = new const char *[size];
+ for (int i = 0; i < size; i++)
+ {
+ list[i] = (const char *)xmlNodeGetContent(nodeSet->nodeTab[i]);
+ }
+
+ return list;
+ }
+
+ const char **XMLNodeSet::getNameFromList() const
+ {
+ const char **list = new const char *[size];
+ for (int i = 0; i < size; i++)
+ {
+ list[i] = nodeSet->nodeTab[i]->name ? (const char *)nodeSet->nodeTab[i]->name : "";
+ }
+
+ return list;
+ }
+
+ void XMLNodeSet::setAttributeValue(const char **prefix, const char **name, const char **value, int lsize) const
+ {
+ for (int i = 0; i < size; i++)
+ {
+ XMLAttr::setAttributeValue(nodeSet->nodeTab[i], prefix, name, value, lsize);
+ }
+ }
+
+ void XMLNodeSet::setAttributeValue(const char **name, const char **value, int lsize) const
+ {
+ for (int i = 0; i < size; i++)
+ {
+ XMLAttr::setAttributeValue(nodeSet->nodeTab[i], name, value, lsize);
+ }
+ }
+
+ void XMLNodeSet::remove() const
+ {
+ for (int i = 0; i < size; i++)
+ {
+ xmlNode *node = nodeSet->nodeTab[i];
+ xmlUnlinkNode(node);
+ xmlFreeNode(node);
+ }
+ }
+
+ const XMLObject *XMLNodeSet::getXMLObjectParent() const
+ {
+ return &doc;
+ }
+
+ const XMLObject *XMLNodeSet::getListElement(int index)
+ {
+ if (nodeSet && index >= 1 && index <= size)
+ {
+ XMLObject *obj = 0;
+ xmlNode *node = nodeSet->nodeTab[index - 1];
+
+ switch (node->type)
+ {
+ case XML_ELEMENT_NODE:
+ case XML_TEXT_NODE:
+ case XML_CDATA_SECTION_NODE:
+ case XML_COMMENT_NODE:
+ case XML_ATTRIBUTE_NODE:
+ obj = scope->getXMLObjectFromLibXMLPtr(node);
+ if (obj)
+ {
+ return static_cast < XMLElement * >(obj);
+ }
+
+ return new XMLElement(doc, node);
+ case XML_NAMESPACE_DECL:
+ obj = scope->getXMLObjectFromLibXMLPtr(node);
+ if (obj)
+ {
+ return static_cast < XMLNs * >(obj);
+ }
+
+ return new XMLNs(doc, (xmlNs *) node);
+ case XML_ELEMENT_DECL:
+ case XML_ATTRIBUTE_DECL:
+ case XML_ENTITY_DECL:
+ case XML_XINCLUDE_START:
+ case XML_XINCLUDE_END:
+ case XML_DOCUMENT_NODE:
+ obj = scope->getXMLObjectFromLibXMLPtr(node);
+ if (obj)
+ {
+ return static_cast < XMLNotHandledElement * >(obj);
+ }
+
+ return new XMLNotHandledElement(doc, node);
+ default:
+ break;
+ }
+ }
+
+ return 0;
+ }
+}
diff --git a/modules/xml/src/cpp/XMLNodeSet.hxx b/modules/xml/src/cpp/XMLNodeSet.hxx
new file mode 100755
index 000000000..b1fb67a00
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNodeSet.hxx
@@ -0,0 +1,61 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLNODESET_HXX__
+#define __XMLNODESET_HXX__
+
+#include "XMLList.hxx"
+#include "xml.h"
+
+namespace org_modules_xml
+{
+ class XMLDocument;
+ class XMLElement;
+
+ /**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to wrap the list of the elements returned by a XPath query
+ */
+ class XMLNodeSet:public XMLList
+ {
+
+ const XMLDocument & doc;
+ xmlNodeSet *nodeSet;
+ xmlXPathObject *xpath;
+
+public:
+ /**
+ * Default constructor
+ * @param doc the document where the node set is existing
+ * @param nodeSet a xmlNodeSet
+ */
+ XMLNodeSet(const XMLDocument & doc, xmlXPathObject * _xpath);
+
+ ~XMLNodeSet();
+
+ void *getRealXMLPointer() const;
+
+ const char **getContentFromList() const;
+
+ const char **getNameFromList() const;
+
+ void remove() const;
+ void setAttributeValue(const char **prefix, const char **name, const char **value, int lsize) const;
+ void setAttributeValue(const char **name, const char **value, int lsize) const;
+ const XMLObject *getXMLObjectParent() const;
+ const XMLObject *getListElement(int index);
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLNotHandledElement.cpp b/modules/xml/src/cpp/XMLNotHandledElement.cpp
new file mode 100755
index 000000000..392746b71
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNotHandledElement.cpp
@@ -0,0 +1,57 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLNotHandledElement.hxx"
+#include "VariableScope.hxx"
+
+extern "C"
+{
+ extern const char *nodes_type[];
+}
+
+namespace org_modules_xml
+{
+ XMLNotHandledElement::XMLNotHandledElement(const XMLObject & _parent, xmlNode * _node):XMLObject(), parent(_parent)
+ {
+ node = _node;
+ scilabType = XMLNOTHANDLED;
+ id = scope->getVariableId(*this);
+ scope->registerPointers(node, this);
+ }
+
+ XMLNotHandledElement::~XMLNotHandledElement()
+ {
+ scope->unregisterPointer(node);
+ scope->removeId(id);
+ }
+
+ void *XMLNotHandledElement::getRealXMLPointer() const
+ {
+ return static_cast < void *>(node);
+ }
+
+ const XMLObject *XMLNotHandledElement::getXMLObjectParent() const
+ {
+ return &parent;
+ }
+
+ const std::string XMLNotHandledElement::toString() const
+ {
+ std::ostringstream oss;
+
+ oss << "Not handled XML Element" << std::endl;
+ oss << "type: " << nodes_type[node->type - 1];
+
+ return oss.str();
+ }
+}
diff --git a/modules/xml/src/cpp/XMLNotHandledElement.hxx b/modules/xml/src/cpp/XMLNotHandledElement.hxx
new file mode 100755
index 000000000..ed3d5ec90
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNotHandledElement.hxx
@@ -0,0 +1,52 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLNOTHANDLEDELEMENT_HXX__
+#define __XMLNOTHANDLEDELEMENT_HXX__
+
+#include <string>
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+ class XMLObject;
+
+ /**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class for not handled nodes.
+ */
+ class XMLNotHandledElement:public XMLObject
+ {
+ const XMLObject & parent;
+ xmlNode *node;
+
+public:
+ /**
+ * Default constructor
+ * @param parent the parent
+ * @param node the not handled node
+ */
+ XMLNotHandledElement(const XMLObject & parent, xmlNode * node);
+
+ ~XMLNotHandledElement();
+
+ void *getRealXMLPointer() const;
+
+ const XMLObject *getXMLObjectParent() const;
+ const std::string toString() const;
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLNs.cpp b/modules/xml/src/cpp/XMLNs.cpp
new file mode 100755
index 000000000..eba07894f
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNs.cpp
@@ -0,0 +1,63 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLElement.hxx"
+#include "XMLNs.hxx"
+#include "VariableScope.hxx"
+
+namespace org_modules_xml
+{
+
+ XMLNs::XMLNs(const XMLObject & _parent, xmlNs * _ns):XMLObject(), parent(_parent)
+ {
+ ns = _ns;
+ scope->registerPointers(ns, this);
+ scilabType = XMLNAMESPACE;
+ id = scope->getVariableId(*this);
+ }
+
+ XMLNs::XMLNs(const XMLElement & elem, char *prefix, char *href):XMLObject(), parent(elem)
+ {
+ ns = xmlNewNs(elem.getRealNode(), (const xmlChar *)href, (const xmlChar *)prefix);
+ scope->registerPointers(ns, this);
+ scilabType = XMLNAMESPACE;
+ id = scope->getVariableId(*this);
+ }
+
+ XMLNs::~XMLNs()
+ {
+ scope->unregisterPointer(ns);
+ scope->removeId(id);
+ }
+
+ void *XMLNs::getRealXMLPointer() const
+ {
+ return static_cast < void *>(ns);
+ }
+
+ const XMLObject *XMLNs::getXMLObjectParent() const
+ {
+ return &parent;
+ }
+
+ const std::string XMLNs::toString() const
+ {
+ std::ostringstream oss;
+
+ oss << "XML Namespace" << std::endl;
+ oss << "href: " << getHref() << std::endl;
+ oss << "prefix: " << getPrefix();
+
+ return oss.str();
+ }
+}
diff --git a/modules/xml/src/cpp/XMLNs.hxx b/modules/xml/src/cpp/XMLNs.hxx
new file mode 100755
index 000000000..ea0cb0a42
--- /dev/null
+++ b/modules/xml/src/cpp/XMLNs.hxx
@@ -0,0 +1,88 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLNS_HXX__
+#define __XMLNS_HXX__
+
+#include <string>
+
+#include "xml.h"
+
+#include "dynlib_xml_scilab.h"
+
+namespace org_modules_xml
+{
+
+class XMLElement;
+class XMLObject;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to wrap a namespace xmlNs.
+ * @see http://xmlsoft.org/html/libxml-tree.html#xmlNs
+ */
+class XML_SCILAB_IMPEXP XMLNs: public XMLObject
+{
+ const XMLObject & parent;
+ xmlNs *ns;
+
+public:
+
+ /**
+ * @param parent the parent XML object
+ * @param ns the xml namespace
+ */
+ XMLNs(const XMLObject & parent, xmlNs * ns);
+
+ /**
+ * @param elem the parent XMLElement
+ * @param prefix the namespace prefix
+ * @param href the namespace href
+ */
+ XMLNs(const XMLElement & elem, char *prefix, char *href);
+
+ ~XMLNs();
+
+ void *getRealXMLPointer() const;
+
+ /**
+ * @return the namespace href
+ */
+ const char *getHref() const
+ {
+ return ns == 0 ? "" : (const char *)ns->href;
+ }
+
+ /**
+ * @return the namespace prefix
+ */
+ const char *getPrefix() const
+ {
+ return ns == 0 ? "" : (const char *)ns->prefix;
+ }
+
+ /**
+ * @return the xmlNs behind this object
+ */
+ xmlNs *getRealNs() const
+ {
+ return ns;
+ }
+
+ const XMLObject *getXMLObjectParent() const;
+ const std::string toString() const;
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLObject.cpp b/modules/xml/src/cpp/XMLObject.cpp
new file mode 100755
index 000000000..2afc025ac
--- /dev/null
+++ b/modules/xml/src/cpp/XMLObject.cpp
@@ -0,0 +1,70 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "VariableScope.hxx"
+#include "XMLObject.hxx"
+
+#define SCOPE_SIZE 1024
+
+namespace org_modules_xml
+{
+VariableScope *XMLObject::scope = 0;
+
+#ifdef SCILAB_DEBUG_XML
+std::set<XMLObject *> XMLObject::pointers;
+#endif
+
+XMLObject::XMLObject(): id(0), valid(true)
+{
+ if (!scope)
+ {
+ scope = new VariableScope(SCOPE_SIZE);
+ }
+
+#ifdef SCILAB_DEBUG_XML
+ XMLObject::pointers.insert(this);
+ //std::cout << "Create = " << (void*)this << std::endl;
+#endif
+
+ scilabType = -1;
+}
+
+XMLObject *XMLObject::getVariableFromId(int id)
+{
+ if (!scope)
+ {
+ return 0;
+ }
+
+ return scope->getVariableFromId(id);
+}
+
+int XMLObject::createOnStack(int pos, void *pvApiCtx) const
+{
+ if (scilabType != -1)
+ {
+ return createXMLObjectAtPos(scilabType, pos, id, pvApiCtx);
+ }
+
+ return 0;
+}
+
+void XMLObject::resetScope()
+{
+ if (scope)
+ {
+ delete scope;
+
+ scope = 0;
+ }
+}
+}
diff --git a/modules/xml/src/cpp/XMLObject.hxx b/modules/xml/src/cpp/XMLObject.hxx
new file mode 100755
index 000000000..3b699fc04
--- /dev/null
+++ b/modules/xml/src/cpp/XMLObject.hxx
@@ -0,0 +1,179 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLOBJECTS_HXX__
+#define __XMLOBJECTS_HXX__
+
+#include <iostream>
+#include <string>
+#include <sstream>
+#include <typeinfo>
+#include <set>
+
+extern "C"
+{
+#include "xml_mlist.h"
+#include "dynlib_xml_scilab.h"
+}
+
+//#define SCILAB_DEBUG_XML
+
+namespace org_modules_xml
+{
+class VariableScope;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Base class for the XML objects.
+ */
+class XML_SCILAB_IMPEXP XMLObject
+{
+
+public:
+
+#ifdef SCILAB_DEBUG_XML
+ static std::set<XMLObject *> pointers;
+#endif
+
+ /**
+ * Default constructor
+ */
+ XMLObject();
+
+ /**
+ * Destructor
+ */
+ virtual ~ XMLObject()
+ {
+#ifdef SCILAB_DEBUG_XML
+ //std::cout << "Delete = " << (void*)this << std::endl;
+ pointers.erase(this);
+#endif
+ }
+
+ /**
+ * Get the libxml2 pointer
+ * @return the pointer
+ */
+ virtual void *getRealXMLPointer() const
+ {
+ return 0;
+ }
+
+ /**
+ * Gets a XML parent object. A set of dependencies is created between the objects
+ * to be sure that all the XML objects will be freed when a document will be destroyed.
+ * @return the parent XMLObject
+ */
+ virtual const XMLObject *getXMLObjectParent() const
+ {
+ return 0;
+ }
+
+ /**
+ * Sets the attribute value.
+ * @param name the attribute names
+ * @param value the attribute values
+ * @param size the number of names
+ */
+ virtual void setAttributeValue(const char **name, const char **value, int size) const
+ {
+ return;
+ }
+
+ /**
+ * Sets the attribute value with a prefix namespace.
+ * @param prefix the namespace prefix or the namespace itself
+ * @param name the attribute names
+ * @param value the attribute values
+ * @param size the number of names
+ */
+ virtual void setAttributeValue(const char **prefix, const char **name, const char **value, int size) const
+ {
+ return;
+ }
+
+ /**
+ * @return the string representation of this object
+ */
+ virtual const std::string toString() const
+ {
+ return std::string("");
+ }
+
+ /**
+ * @return a dump of this object
+ */
+ virtual const std::string dump(bool indent) const
+ {
+ return std::string("");
+ }
+
+ /**
+ * @return the object id
+ */
+ inline int getId() const
+ {
+ return id;
+ }
+
+ inline bool isValid() const
+ {
+ return valid;
+ }
+
+ inline void invalid()
+ {
+ valid = false;
+ }
+
+ /**
+ * Creates the Scilab's variable corresponding to this object
+ * @param pos the stack position
+ * @return 1 if all is ok, else 0
+ */
+ int createOnStack(int pos, void *pvApiCtx) const;
+
+ /**
+ * @param id the object id
+ * @return the object which has the corresponding id or 0 if not found
+ */
+ template < class T > static T *getFromId(int id)
+ {
+ return static_cast < T * >(getVariableFromId(id));
+ }
+
+protected:
+ int id;
+ int scilabType;
+ bool valid;
+
+ static VariableScope *scope;
+
+ /**
+ * Reset the scope
+ */
+ static void resetScope();
+
+private:
+
+ /**
+ * @param id the id
+ * @return XMLObject corresponding to the id or 0 if not found
+ */
+ static XMLObject *getVariableFromId(int id);
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLRemovable.hxx b/modules/xml/src/cpp/XMLRemovable.hxx
new file mode 100755
index 000000000..b8187411c
--- /dev/null
+++ b/modules/xml/src/cpp/XMLRemovable.hxx
@@ -0,0 +1,36 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLREMOVABLE_HXX__
+#define __XMLREMOVABLE_HXX__
+
+namespace org_modules_xml
+{
+ /**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Pure virtual class for XMLElement and XMLList
+ */
+ class XMLRemovable
+ {
+
+public:
+
+ /**
+ * Remove this object or this list of objects from the document
+ */
+ virtual void remove() const = 0;
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLRhsValue.hxx b/modules/xml/src/cpp/XMLRhsValue.hxx
new file mode 100755
index 000000000..5ab6dfec7
--- /dev/null
+++ b/modules/xml/src/cpp/XMLRhsValue.hxx
@@ -0,0 +1,138 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLRHSVALUE_HXX__
+#define __XMLRHSVALUE_HXX__
+
+#include "xmlObjects.h"
+
+extern "C"
+{
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "xml_mlist.h"
+}
+
+namespace org_modules_xml
+{
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Base class for the XML objects.
+ */
+class XMLRhsValue
+{
+
+public:
+ /**
+ * @anchor get
+ * @param fname the function name
+ * @param addr the Scilab's variable address
+ * @param obj a pointer to the object to retrieve
+ * @return true if all is ok
+ */
+ static bool get(char *fname, int *addr, XMLDocument ** obj, void *pvApiCtx)
+ {
+ return get < XMLDocument > (fname, addr, obj, pvApiCtx);
+ }
+
+ /**
+ * @ref get
+ */
+ static bool get(char *fname, int *addr, XMLElement ** obj, void *pvApiCtx)
+ {
+ return get < XMLElement > (fname, addr, obj, pvApiCtx);
+ }
+
+ /**
+ * @ref get
+ */
+ static bool get(char *fname, int *addr, XMLAttr ** obj, void *pvApiCtx)
+ {
+ return get < XMLAttr > (fname, addr, obj, pvApiCtx);
+ }
+
+ /**
+ * @ref get
+ */
+ static bool get(char *fname, int *addr, XMLNs ** obj, void *pvApiCtx)
+ {
+ return get < XMLNs > (fname, addr, obj, pvApiCtx);
+ }
+
+ /**
+ * @ref get
+ */
+ static bool get(char *fname, int *addr, XMLNodeList ** obj, void *pvApiCtx)
+ {
+ return get < XMLNodeList > (fname, addr, obj, pvApiCtx);
+ }
+
+ /**
+ * @ref get
+ */
+ static bool get(char *fname, int *addr, std::string ** obj, void *pvApiCtx)
+ {
+ char **str = 0;
+ int row = 0;
+ int col = 0;
+
+ std::string * code = new std::string("");
+
+ if (getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &str))
+ {
+ delete code;
+ return false;
+ }
+
+ for (int i = 0; i < row; i++)
+ {
+ for (int j = 0; j < col; j++)
+ {
+ *code += str[i + row * j];
+ }
+
+ if (i != row - 1)
+ {
+ *code += "\n";
+ }
+ }
+ freeAllocatedMatrixOfString(row, col, str);
+ *obj = code;
+
+ return true;
+ }
+
+private:
+
+ /**
+ * @ref get
+ */
+ template < class T > static bool get(char *fname, int *addr, T ** obj, void *pvApiCtx)
+ {
+ int id = getXMLObjectId(addr, pvApiCtx);
+
+ *obj = XMLObject::getFromId < T > (id);
+ if (!*obj)
+ {
+ Scierror(999, "%s: XML object does not exist\n", fname);
+ return false;
+ }
+
+ return true;
+ }
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLValidation.cpp b/modules/xml/src/cpp/XMLValidation.cpp
new file mode 100755
index 000000000..4749ecb3e
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidation.cpp
@@ -0,0 +1,129 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLValidation.hxx"
+
+extern "C"
+{
+#include "expandPathVariable.h"
+#include "MALLOC.h"
+#include "localization.h"
+}
+
+#define BUFFER_SIZE 1024
+
+namespace org_modules_xml
+{
+
+std::string * XMLValidation::errorBuffer = 0;
+std::list<XMLValidation *>& XMLValidation::openValidationFiles = *new std::list < XMLValidation * >();
+
+XMLValidation::XMLValidation(): XMLObject(), validationFile(0)
+{
+ scilabType = XMLVALID;
+}
+
+void XMLValidation::errorFunction(void *ctx, const char *msg, ...)
+{
+ char str[BUFFER_SIZE];
+ va_list args;
+
+ va_start(args, msg);
+#ifdef _MSC_VER
+ _vsnprintf(str, BUFFER_SIZE, msg, args);
+#else
+ vsnprintf(str, BUFFER_SIZE, msg, args);
+#endif
+ va_end(args);
+ errorBuffer->append(str);
+}
+
+void XMLValidation::errorReaderFunction(void * arg, const char * msg, xmlParserSeverities severity, xmlTextReaderLocatorPtr locator)
+{
+ std::ostringstream oss;
+
+ oss << xmlTextReaderLocatorBaseURI(locator) << gettext(" at line ")
+ << xmlTextReaderLocatorLineNumber(locator) << std::endl
+ << msg << std::endl;
+
+ errorBuffer->append(oss.str());
+}
+
+
+bool XMLValidation::validate(const std::string & xmlCode, std::string * error) const
+{
+ xmlParserInputBuffer * buffer = xmlParserInputBufferCreateMem(xmlCode.c_str(), (int)xmlCode.size(), (xmlCharEncoding) 0);
+ if (!buffer)
+ {
+ error->append(gettext("Cannot create a buffer"));
+ return false;
+ }
+
+ xmlTextReader * reader = xmlNewTextReader(buffer, 0);
+ if (!reader)
+ {
+ xmlFreeParserInputBuffer(buffer);
+ error->append(gettext("Cannot create a reader"));
+ return false;
+ }
+
+ bool valid = validate(reader, error);
+ xmlFreeParserInputBuffer(buffer);
+
+ return valid;
+}
+
+bool XMLValidation::validate(const char *path, std::string * error)const
+{
+ char *expandedPath = expandPathVariable(const_cast<char *>(path));
+ if (expandedPath)
+ {
+ xmlTextReader *reader = xmlNewTextReaderFilename(expandedPath);
+ FREE(expandedPath);
+ if (!reader)
+ {
+ error->append(gettext("Invalid file"));
+ return false;
+ }
+
+ return validate(reader, error);
+ }
+ else
+ {
+ *error = std::string(gettext("Invalid file name: ")) + std::string(path);
+ return false;
+ }
+}
+
+const std::list<XMLValidation *>& XMLValidation::getOpenValidationFiles()
+{
+ return openValidationFiles;
+}
+
+void XMLValidation::closeAllValidationFiles()
+{
+ int size = (int)openValidationFiles.size();
+ XMLValidation **arr = new XMLValidation *[size];
+ int j = 0;
+
+ for (std::list < XMLValidation * >::iterator i = openValidationFiles.begin(); i != openValidationFiles.end(); i++, j++)
+ {
+ arr[j] = *i;
+ }
+ for (j = 0; j < size; j++)
+ {
+ delete arr[j];
+ }
+ delete[]arr;
+}
+}
diff --git a/modules/xml/src/cpp/XMLValidation.hxx b/modules/xml/src/cpp/XMLValidation.hxx
new file mode 100755
index 000000000..b09d78f65
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidation.hxx
@@ -0,0 +1,105 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLVALIDATION_HXX__
+#define __XMLVALIDATION_HXX__
+
+#include <cstdio>
+#include <list>
+#include <string>
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+class XMLObject;
+class XMLDocument;
+
+/**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Base class for the XML validation.
+ */
+class XMLValidation: public XMLObject
+{
+
+public:
+ /**
+ * Retrieve all the open validation files
+ * @return a list containing the validation objects
+ */
+ static const std::list < XMLValidation * >&getOpenValidationFiles();
+
+ /**
+ * Close all the validation files
+ */
+ static void closeAllValidationFiles();
+
+ /**
+ * Default constructor
+ */
+ XMLValidation();
+
+ /**
+ * Validate an already parsed document
+ * @param doc the document to validate
+ * @param error a string which will contain error messages
+ */
+ virtual bool validate(const XMLDocument & doc, std::string * error) const = 0;
+
+ /**
+ * Validate a document accessed via a xmlTextReader
+ * @param reader the reader to use
+ * @param error a string which will contain error messages
+ */
+ virtual bool validate(xmlTextReader * reader, std::string * error) const = 0;
+
+ /**
+ * Validate a document with a given path
+ * @param path the document path
+ * @param error a string which will contain error messages
+ */
+ bool validate(const char *path, std::string * error) const;
+
+ /**
+ * Validate a document with a given content as string
+ * @param xmlCode the document code
+ * @param error a string which will contain error messages
+ */
+ bool validate(const std::string & xmlCode, std::string * error) const;
+
+ /**
+ * @return the validation file
+ */
+ template < typename T > T * getValidationFile() const
+ {
+ return (T *) validationFile;
+ }
+
+protected:
+ static std::string * errorBuffer;
+ static std::list < XMLValidation * >&openValidationFiles;
+
+ /**
+ * Error function for the XML parser
+ * @see http://xmlsoft.org/html/libxml-xmlerror.html#xmlGenericErrorFunc
+ */
+ static void errorFunction(void *ctx, const char *msg, ...);
+
+ static void errorReaderFunction(void * arg, const char * msg, xmlParserSeverities severity, xmlTextReaderLocatorPtr locator);
+
+ void *validationFile;
+};
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLValidationDTD.cpp b/modules/xml/src/cpp/XMLValidationDTD.cpp
new file mode 100755
index 000000000..ad2c86d1b
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidationDTD.cpp
@@ -0,0 +1,176 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLValidation.hxx"
+#include "XMLValidationDTD.hxx"
+#include "XMLDocument.hxx"
+#include "VariableScope.hxx"
+
+extern "C"
+{
+#include "expandPathVariable.h"
+#include "MALLOC.h"
+#include "localization.h"
+}
+
+namespace org_modules_xml
+{
+
+XMLValidationDTD::XMLValidationDTD(const char *path, std::string * error): XMLValidation()
+{
+ internalValidate = false;
+ char *expandedPath = expandPathVariable(const_cast<char *>(path));
+ if (expandedPath)
+ {
+ validationFile = (void *)xmlParseDTD(0, (const xmlChar *)expandedPath);
+ FREE(expandedPath);
+ if (!validationFile)
+ {
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string(gettext("Cannot parse the DTD"));
+
+ *error = *errorBuffer;
+ }
+ else
+ {
+ openValidationFiles.push_back(this);
+ }
+ }
+ else
+ {
+ *error = std::string(gettext("Invalid file name: ")) + std::string(path);
+ }
+
+ scope->registerPointers(validationFile, this);
+ id = scope->getVariableId(*this);
+}
+
+XMLValidationDTD::XMLValidationDTD(): XMLValidation()
+{
+ validationFile = 0;
+ internalValidate = true;
+ id = scope->getVariableId(*this);
+ openValidationFiles.push_back(this);
+}
+
+XMLValidationDTD::~XMLValidationDTD()
+{
+ scope->unregisterPointer(validationFile);
+ scope->removeId(id);
+
+ if (validationFile)
+ {
+ xmlFreeDtd(getValidationFile < xmlDtd > ());
+ }
+
+ if (validationFile || internalValidate)
+ {
+ openValidationFiles.remove(this);
+ if (openValidationFiles.size() == 0 && XMLDocument::getOpenDocuments().size() == 0)
+ {
+ resetScope();
+ }
+ }
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+
+ errorBuffer = 0;
+ }
+}
+
+bool XMLValidationDTD::validate(const XMLDocument & doc, std::string * error) const
+{
+ bool ret;
+ xmlValidCtxt *vctxt = xmlNewValidCtxt();
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string("");
+
+ if (!vctxt)
+ {
+ errorBuffer->append(gettext("Cannot create a valid context"));
+ *error = *errorBuffer;
+ return false;
+ }
+
+ vctxt->error = (xmlValidityErrorFunc) XMLValidation::errorFunction;
+
+ ret = xmlValidateDtd(vctxt, doc.getRealDocument(), getValidationFile < xmlDtd > ()) == 1;
+
+ vctxt->error = 0;
+ xmlFreeValidCtxt(vctxt);
+
+ if (!ret)
+ {
+ *error = *errorBuffer;
+ }
+
+ return ret;
+}
+
+bool XMLValidationDTD::validate(xmlTextReader * reader, std::string * error) const
+{
+ int last;
+ int valid;
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string("");
+
+ if (!internalValidate)
+ {
+ errorBuffer->append(gettext("Due to a libxml2 limitation, it is not possible to validate a document against an external DTD\nPlease see help xmlValidate.\n"));
+ *error = *errorBuffer;
+ return false;
+ }
+
+ xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1);
+ xmlTextReaderSetErrorHandler(reader, (xmlTextReaderErrorFunc) XMLValidation::errorReaderFunction, 0);
+ while ((last = xmlTextReaderRead(reader)) == 1) ;
+ valid = xmlTextReaderIsValid(reader);
+
+ xmlTextReaderSetErrorHandler(reader, 0, 0);
+ xmlFreeTextReader(reader);
+
+ if (last == -1 || valid != 1)
+ {
+ *error = *errorBuffer;
+ return false;
+ }
+
+ return true;
+}
+
+const std::string XMLValidationDTD::toString() const
+{
+ std::ostringstream oss;
+ xmlDtd *dtd = getValidationFile < xmlDtd > ();
+
+ oss << "XML DTD" << std::endl;
+ oss << "name: " << (dtd->name ? (const char *)dtd->name : "") << std::endl;
+ oss << "external ID: " << (dtd->ExternalID ? (const char *)dtd->ExternalID : "") << std::endl;
+ oss << "system ID: " << (dtd->SystemID ? (const char *)dtd->SystemID : "");
+
+ return oss.str();
+}
+}
diff --git a/modules/xml/src/cpp/XMLValidationDTD.hxx b/modules/xml/src/cpp/XMLValidationDTD.hxx
new file mode 100755
index 000000000..27c9952ae
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidationDTD.hxx
@@ -0,0 +1,58 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLVALIDATIONDTD_HXX__
+#define __XMLVALIDATIONDTD_HXX__
+
+#include <string>
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+
+ class XMLValidation;
+ class XMLDocument;
+
+ /**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to handle DTD validation.
+ */
+ class XMLValidationDTD:public XMLValidation
+ {
+
+public:
+ /**
+ * @param path the path of the validation file
+ * @param error a string which will contain error messages
+ */
+ XMLValidationDTD(const char *path, std::string * error);
+
+ /**
+ * Use internal validation
+ */
+ XMLValidationDTD();
+
+ ~XMLValidationDTD();
+
+ bool validate(const XMLDocument & doc, std::string * error) const;
+ bool validate(xmlTextReader * reader, std::string * error) const;
+
+ const std::string toString() const;
+
+private: bool internalValidate;
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLValidationRelaxNG.cpp b/modules/xml/src/cpp/XMLValidationRelaxNG.cpp
new file mode 100755
index 000000000..0dee4f836
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidationRelaxNG.cpp
@@ -0,0 +1,162 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLValidation.hxx"
+#include "XMLValidationRelaxNG.hxx"
+#include "XMLDocument.hxx"
+#include "VariableScope.hxx"
+
+extern "C"
+{
+#include "expandPathVariable.h"
+#include "MALLOC.h"
+#include "localization.h"
+#include "BOOL.h"
+}
+
+namespace org_modules_xml
+{
+
+XMLValidationRelaxNG::XMLValidationRelaxNG(const char *path, std::string * error): XMLValidation()
+{
+ char *expandedPath = expandPathVariable(const_cast < char *>(path));
+ if (expandedPath)
+ {
+ xmlRelaxNGParserCtxt *pctxt = xmlRelaxNGNewParserCtxt(expandedPath);
+ FREE(expandedPath);
+ if (!pctxt)
+ {
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string(gettext("Cannot create a validation context"));
+ *error = *errorBuffer;
+ }
+ else
+ {
+ validationFile = (void *)xmlRelaxNGParse(pctxt);
+ xmlRelaxNGFreeParserCtxt(pctxt);
+ if (!validationFile)
+ {
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string(gettext("Cannot parse the Relax NG grammar"));
+ *error = *errorBuffer;
+ }
+ else
+ {
+ openValidationFiles.push_back(this);
+ }
+ }
+ }
+ else
+ {
+ *error = std::string(gettext("Invalid file name: ")) + std::string(path);
+ }
+
+ scope->registerPointers(validationFile, this);
+ id = scope->getVariableId(*this);
+}
+
+XMLValidationRelaxNG::~XMLValidationRelaxNG()
+{
+ scope->unregisterPointer(validationFile);
+ scope->removeId(id);
+ if (validationFile)
+ {
+ xmlRelaxNGFree((xmlRelaxNG *) validationFile);
+ openValidationFiles.remove(this);
+ if (openValidationFiles.size() == 0 && XMLDocument::getOpenDocuments().size() == 0)
+ {
+ resetScope();
+ }
+ }
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+
+ errorBuffer = 0;
+ }
+}
+
+bool XMLValidationRelaxNG::validate(const XMLDocument & doc, std::string * error) const
+{
+ bool ret;
+ xmlRelaxNGValidCtxt *vctxt = xmlRelaxNGNewValidCtxt((xmlRelaxNG *) validationFile);
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string("");
+
+ if (!vctxt)
+ {
+ errorBuffer->append(gettext("Cannot create a validation context"));
+ *error = *errorBuffer;
+ return false;
+ }
+
+ xmlRelaxNGSetValidErrors(vctxt, (xmlRelaxNGValidityErrorFunc) XMLValidation::errorFunction, 0, 0);
+
+ ret = BOOLtobool(xmlRelaxNGValidateDoc(vctxt, doc.getRealDocument()));
+
+ xmlRelaxNGSetValidErrors(vctxt, 0, 0, 0);
+ xmlRelaxNGFreeValidCtxt(vctxt);
+
+ if (ret)
+ {
+ *error = *errorBuffer;
+ }
+
+ return ret == 0;
+}
+
+bool XMLValidationRelaxNG::validate(xmlTextReader * reader, std::string * error) const
+{
+ int last;
+ int valid;
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string();
+
+ xmlTextReaderSetErrorHandler(reader, (xmlTextReaderErrorFunc) XMLValidation::errorReaderFunction, 0);
+ xmlTextReaderRelaxNGSetSchema(reader, getValidationFile < xmlRelaxNG > ());
+
+ while ((last = xmlTextReaderRead(reader)) == 1) ;
+ valid = xmlTextReaderIsValid(reader);
+
+ xmlTextReaderSetErrorHandler(reader, 0, 0);
+ xmlFreeTextReader(reader);
+
+ if (last == -1 || valid != 1)
+ {
+ *error = *errorBuffer;
+ return false;
+ }
+
+ return true;
+}
+
+const std::string XMLValidationRelaxNG::toString() const
+{
+ return std::string("XML Relax NG\nNo public information");
+}
+}
diff --git a/modules/xml/src/cpp/XMLValidationRelaxNG.hxx b/modules/xml/src/cpp/XMLValidationRelaxNG.hxx
new file mode 100755
index 000000000..7ec75214e
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidationRelaxNG.hxx
@@ -0,0 +1,51 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLVALIDATIONRELAXNG_HXX__
+#define __XMLVALIDATIONRELAXNG_HXX__
+
+#include <string>
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+
+ class XMLValidation;
+ class XMLDocument;
+
+ /**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to handle Relax NG validation.
+ */
+ class XMLValidationRelaxNG:public XMLValidation
+ {
+
+public:
+ /**
+ * @param path the path of the validation file
+ * @param error a string which will contain error messages
+ */
+ XMLValidationRelaxNG(const char *path, std::string * error);
+
+ ~XMLValidationRelaxNG();
+
+ bool validate(const XMLDocument & doc, std::string * error) const;
+ bool validate(xmlTextReader * reader, std::string * error) const;
+
+ const std::string toString() const;
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLValidationSchema.cpp b/modules/xml/src/cpp/XMLValidationSchema.cpp
new file mode 100755
index 000000000..4fdc48854
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidationSchema.cpp
@@ -0,0 +1,189 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLValidation.hxx"
+#include "XMLValidationSchema.hxx"
+#include "XMLDocument.hxx"
+#include "VariableScope.hxx"
+
+extern "C"
+{
+#include "expandPathVariable.h"
+#include "MALLOC.h"
+#include "localization.h"
+#include "BOOL.h"
+}
+
+namespace org_modules_xml
+{
+
+XMLValidationSchema::XMLValidationSchema(const char *path, std::string * error): XMLValidation()
+{
+ char *expandedPath = expandPathVariable(const_cast < char *>(path));
+ if (expandedPath)
+ {
+ xmlSchemaParserCtxt *pctxt = xmlSchemaNewParserCtxt(expandedPath);
+ FREE(expandedPath);
+ if (!pctxt)
+ {
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string(gettext("Cannot create a validation context"));
+ *error = *errorBuffer;
+ }
+ else
+ {
+ validationFile = (void *)xmlSchemaParse(pctxt);
+ xmlSchemaFreeParserCtxt(pctxt);
+ if (!validationFile)
+ {
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string(gettext("Cannot parse the schema"));
+ *error = *errorBuffer;
+ }
+ else
+ {
+ openValidationFiles.push_back(this);
+ }
+ }
+ }
+ else
+ {
+ *error = std::string(gettext("Invalid file name: ")) + std::string(path);
+ }
+ scope->registerPointers(validationFile, this);
+ id = scope->getVariableId(*this);
+}
+
+XMLValidationSchema::~XMLValidationSchema()
+{
+ scope->unregisterPointer(validationFile);
+ scope->removeId(id);
+ if (validationFile)
+ {
+ xmlSchemaFree((xmlSchema *) validationFile);
+ openValidationFiles.remove(this);
+ if (openValidationFiles.size() == 0 && XMLDocument::getOpenDocuments().size() == 0)
+ {
+ resetScope();
+ }
+ }
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+
+ errorBuffer = 0;
+ }
+}
+
+bool XMLValidationSchema::validate(const XMLDocument & doc, std::string * error) const
+{
+ bool ret;
+ xmlSchemaValidCtxt *vctxt = xmlSchemaNewValidCtxt((xmlSchema *) validationFile);
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string("");
+
+ if (!vctxt)
+ {
+ errorBuffer->append(gettext("Cannot create a validation context"));
+ *error = *errorBuffer;
+ return false;
+ }
+
+ xmlSchemaSetValidErrors(vctxt, (xmlSchemaValidityErrorFunc) XMLValidation::errorFunction, 0, 0);
+
+ ret = BOOLtobool(xmlSchemaValidateDoc(vctxt, doc.getRealDocument()));
+
+ xmlSchemaSetValidErrors(vctxt, 0, 0, 0);
+ xmlSchemaFreeValidCtxt(vctxt);
+
+ if (ret)
+ {
+ *error = *errorBuffer;
+ }
+
+ return ret == 0;
+}
+
+bool XMLValidationSchema::validate(xmlTextReader * reader, std::string * error) const
+{
+ xmlSchemaValidCtxt *vctxt = 0;
+ int last;
+ int valid;
+
+ if (errorBuffer)
+ {
+ delete errorBuffer;
+ }
+ errorBuffer = new std::string();
+
+ if (!reader)
+ {
+ errorBuffer->append(gettext("Cannot read the stream"));
+ *error = *errorBuffer;
+ return false;
+ }
+
+ vctxt = xmlSchemaNewValidCtxt(getValidationFile < xmlSchema > ());
+ if (!vctxt)
+ {
+ errorBuffer->append(gettext("Cannot create a validation context"));
+ *error = *errorBuffer;
+ return false;
+ }
+
+ xmlSchemaSetValidErrors(vctxt, (xmlSchemaValidityErrorFunc) XMLValidation::errorFunction, 0, 0);
+ xmlTextReaderSetErrorHandler(reader, (xmlTextReaderErrorFunc) XMLValidation::errorReaderFunction, 0);
+ xmlTextReaderSchemaValidateCtxt(reader, vctxt, 0);
+
+ while ((last = xmlTextReaderRead(reader)) == 1) ;
+ valid = xmlTextReaderIsValid(reader);
+
+ xmlTextReaderSetErrorHandler(reader, 0, 0);
+ xmlSchemaSetValidErrors(vctxt, 0, 0, 0);
+ xmlFreeTextReader(reader);
+ xmlSchemaFreeValidCtxt(vctxt);
+
+ if (last == -1 || valid != 1)
+ {
+ *error = *errorBuffer;
+ return false;
+ }
+
+ return true;
+}
+
+const std::string XMLValidationSchema::toString() const
+{
+ std::ostringstream oss;
+ xmlSchema *schema = getValidationFile < xmlSchema > ();
+
+ oss << "XML Schema" << std::endl;
+ oss << "name: " << (schema->name ? (const char *)schema->name : "") << std::endl;
+ oss << "target namespace: " << (schema->targetNamespace ? (const char *)schema->targetNamespace : "") << std::endl;
+ oss << "version: " << (schema->version ? (const char *)schema->version : "");
+
+ return oss.str();
+}
+
+}
diff --git a/modules/xml/src/cpp/XMLValidationSchema.hxx b/modules/xml/src/cpp/XMLValidationSchema.hxx
new file mode 100755
index 000000000..4b5f05c46
--- /dev/null
+++ b/modules/xml/src/cpp/XMLValidationSchema.hxx
@@ -0,0 +1,51 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLVALIDATIONSCHEMA_HXX__
+#define __XMLVALIDATIONSCHEMA_HXX__
+
+#include <string>
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+
+ class XMLValidation;
+ class XMLDocument;
+
+ /**
+ * @file
+ * @author Calixte DENIZET <calixte.denizet@scilab.org>
+ *
+ * Class to handle Schema validation.
+ */
+ class XMLValidationSchema:public XMLValidation
+ {
+
+public:
+ /**
+ * @param path the path of the validation file
+ * @param error a string which will contain error messages
+ */
+ XMLValidationSchema(const char *path, std::string * error);
+
+ ~XMLValidationSchema();
+
+ bool validate(const XMLDocument & doc, std::string * error) const;
+ bool validate(xmlTextReader * reader, std::string * error) const;
+
+ const std::string toString() const;
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/XMLXPath.cpp b/modules/xml/src/cpp/XMLXPath.cpp
new file mode 100755
index 000000000..cec4a4ca0
--- /dev/null
+++ b/modules/xml/src/cpp/XMLXPath.cpp
@@ -0,0 +1,55 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "XMLObject.hxx"
+#include "XMLDocument.hxx"
+#include "XMLElement.hxx"
+#include "XMLXPath.hxx"
+#include "XMLNodeSet.hxx"
+#include "VariableScope.hxx"
+
+namespace org_modules_xml
+{
+ XMLXPath::XMLXPath(const XMLDocument & _doc, xmlXPathObject * _xpath):XMLObject(), doc(_doc)
+ {
+ xpath = _xpath;
+ scope->registerPointers(xpath, this);
+ id = scope->getVariableId(*this);
+ }
+
+ XMLXPath::~XMLXPath()
+ {
+ scope->unregisterPointer(xpath);
+ scope->removeId(id);
+ }
+
+ void *XMLXPath::getRealXMLPointer() const
+ {
+ return static_cast < void *>(xpath);
+ }
+
+ const XMLObject *XMLXPath::getXMLObjectParent() const
+ {
+ return &doc;
+ }
+
+ const XMLNodeSet *XMLXPath::getNodeSet() const
+ {
+ XMLObject *obj = scope->getXMLObjectFromLibXMLPtr(xpath->nodesetval);
+ if (obj)
+ {
+ return static_cast < XMLNodeSet * >(obj);
+ }
+
+ return new XMLNodeSet(doc, xpath);
+ }
+}
diff --git a/modules/xml/src/cpp/XMLXPath.hxx b/modules/xml/src/cpp/XMLXPath.hxx
new file mode 100755
index 000000000..043c841e4
--- /dev/null
+++ b/modules/xml/src/cpp/XMLXPath.hxx
@@ -0,0 +1,57 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __XMLXPATH_HXX__
+#define __XMLXPATH_HXX__
+
+#include "xml.h"
+
+namespace org_modules_xml
+{
+ class XMLDocument;
+ class XMLObject;
+ class XMLNodeSet;
+
+ class XMLXPath:public XMLObject
+ {
+ const XMLDocument & doc;
+ xmlXPathObject *xpath;
+
+public:
+ XMLXPath(const XMLDocument & doc, xmlXPathObject * xpath);
+ ~XMLXPath();
+
+ void *getRealXMLPointer() const;
+
+ int getBooleanValue() const
+ {
+ return xpath->boolval;
+ }
+ double getFloatValue() const
+ {
+ return xpath->floatval;
+ }
+ const char *getStringValue() const
+ {
+ return (const char *)xpath->stringval;
+ }
+ int getResultType() const
+ {
+ return xpath->type;
+ }
+ const XMLNodeSet *getNodeSet() const;
+ const XMLObject *getXMLObjectParent() const;
+
+ };
+}
+
+#endif
diff --git a/modules/xml/src/cpp/extraction.hxx b/modules/xml/src/cpp/extraction.hxx
new file mode 100755
index 000000000..d79083aff
--- /dev/null
+++ b/modules/xml/src/cpp/extraction.hxx
@@ -0,0 +1,301 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include <vector>
+
+#include "XMLObject.hxx"
+#include "XMLDocument.hxx"
+#include "XMLElement.hxx"
+#include "XMLNs.hxx"
+#include "XMLAttr.hxx"
+#include "XMLNodeList.hxx"
+
+extern "C"
+{
+#include <string.h>
+#include <stdio.h>
+#include "gw_xml.h"
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "xml_mlist.h"
+#include "xml_constants.h"
+#include "localization.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+}
+
+using namespace org_modules_xml;
+
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Creates a string on stack
+ * @param fname the function name
+ * @param str the string to put
+ * @param pos the stack position
+ * @return 1 if all is ok, else 0
+ */
+int createStringOnStack(char * fname, const char * str, int pos, void* pvApiCtx)
+{
+ SciErr err;
+
+ if (!str)
+ {
+ str = "";
+ }
+
+ if (strchr(str, '\n'))
+ {
+ char * tok = strdup(str);
+ char * stok = tok;
+ std::vector<char *> vector = std::vector<char *>();
+
+ tok = strtok(tok, "\n");
+ while (tok)
+ {
+ vector.push_back(tok);
+ tok = strtok(0, "\n");
+ }
+
+ if (vector.size())
+ {
+ err = createMatrixOfString(pvApiCtx, pos, (int)vector.size(), 1, const_cast<const char * const *>(&(vector[0])));
+ }
+ else
+ {
+ err = createMatrixOfDouble(pvApiCtx, pos, 0, 0, 0);
+ }
+
+ free(stok);
+ }
+ else
+ {
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, const_cast<const char * const *>(&str));
+ }
+
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+/**
+ * Creates a new variable on stack according to the requested field
+ * @param fname the function name
+ * @param doc the document
+ * @param field the field name
+ * @param pos the stack position
+ * @return 1 if all is ok, else 0
+ */
+int createVariableOnStack(char * fname, org_modules_xml::XMLDocument & doc, const char * field, int pos, void* pvApiCtx)
+{
+ if (!strcmp("root", field))
+ {
+ const XMLElement * e = doc.getRoot();
+ if (!e)
+ {
+ Scierror(999, gettext("%s: No root element.\n"), fname, field);
+ return 0;
+ }
+ return e->createOnStack(pos, pvApiCtx);
+ }
+ else if (!strcmp("url", field))
+ {
+ return createStringOnStack(fname, doc.getDocumentURL(), pos, pvApiCtx);
+ }
+ else
+ {
+ Scierror(999, gettext("%s: Unknown field: %s\n"), fname, field);
+ return 0;
+ }
+}
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Creates a new variable on stack according to the requested field
+ * @param fname the function name
+ * @param elem the element
+ * @param field the field name
+ * @param pos the stack position
+ * @return 1 if all is ok, else 0
+ */
+int createVariableOnStack(char * fname, XMLElement & elem, const char * field, int pos, void* pvApiCtx)
+{
+ if (!strcmp("name", field))
+ {
+ return createStringOnStack(fname, elem.getNodeName(), pos, pvApiCtx);
+ }
+ else if (!strcmp("namespace", field))
+ {
+ const XMLNs * ns = elem.getNodeNameSpace();
+ if (ns)
+ {
+ return ns->createOnStack(pos, pvApiCtx);
+ }
+ else
+ {
+ createMatrixOfDouble(pvApiCtx, pos, 0, 0, 0);
+ return 1;
+ }
+ }
+ else if (!strcmp("content", field))
+ {
+ const char * content = elem.getNodeContent();
+ int ret = createStringOnStack(fname, content, pos, pvApiCtx);
+ xmlFree(const_cast<char *>(content));
+ return ret;
+ }
+ else if (!strcmp("type", field))
+ {
+ return createStringOnStack(fname, nodes_type[elem.getNodeType() - 1], pos, pvApiCtx);
+ }
+ else if (!strcmp("parent", field))
+ {
+ const XMLElement * parent = elem.getParentElement();
+ if (parent)
+ {
+ return parent->createOnStack(pos, pvApiCtx);
+ }
+ else
+ {
+ createMatrixOfDouble(pvApiCtx, pos, 0, 0, 0);
+ return 1;
+ }
+ }
+ else if (!strcmp("attributes", field))
+ {
+ return elem.getAttributes()->createOnStack(pos, pvApiCtx);
+ }
+ else if (!strcmp("children", field))
+ {
+ return elem.getChildren()->createOnStack(pos, pvApiCtx);
+ }
+ else if (!strcmp("line", field))
+ {
+ double line = (double)elem.getDefinitionLine();
+ SciErr err = createMatrixOfDouble(pvApiCtx, pos, 1, 1, &line);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+
+ return 1;
+ }
+ else
+ {
+ Scierror(999, gettext("%s: Unknown field: %s\n"), fname, field);
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Creates a new variable on stack according to the requested field
+ * @param fname the function name
+ * @param ns the namespace
+ * @param field the field name
+ * @param pos the stack position
+ * @return 1 if all is ok, else 0
+ */
+int createVariableOnStack(char * fname, XMLNs & ns, const char * field, int pos, void* pvApiCtx)
+{
+ if (!strcmp("href", field))
+ {
+ return createStringOnStack(fname, ns.getHref(), pos, pvApiCtx);
+ }
+ else if (!strcmp("prefix", field))
+ {
+ return createStringOnStack(fname, ns.getPrefix(), pos, pvApiCtx);
+ }
+ else
+ {
+ Scierror(999, gettext("%s: Unknown field: %s\n"), fname, field);
+ return 0;
+ }
+}
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Function to handle extraction in different XMLObjects
+ * @param fname the function name
+ * @param fname_len the function name length
+ */
+template<class T>
+int sci_extraction(char * fname, void *pvApiCtx)
+{
+ T * t;
+ int id;
+ SciErr err;
+ int * fieldaddr = 0;
+ int * mlistaddr = 0;
+ char * field = 0;
+ int ret;
+
+ CheckLhs(1, 1);
+ CheckRhs(2, 2);
+
+ err = getVarAddressFromPosition(pvApiCtx, 1, &fieldaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ return 0;
+ }
+
+ if (!isStringType(pvApiCtx, fieldaddr))
+ {
+ Scierror(999, gettext("%s: Wrong type for input argument #%i: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ err = getVarAddressFromPosition(pvApiCtx, 2, &mlistaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, fieldaddr, &field) != 0)
+ {
+ Scierror(999, _("%s: No more memory.\n"), fname);
+ return 0;
+ }
+ id = getXMLObjectId(mlistaddr, pvApiCtx);
+
+ t = XMLObject::getFromId<T>(id);
+ if (!t)
+ {
+ freeAllocatedSingleString(field);
+ Scierror(999, gettext("%s: XML object does not exist.\n"), fname);
+ return 0;
+ }
+
+ ret = createVariableOnStack(fname, *t, const_cast<char *>(field), Rhs + 1, pvApiCtx);
+ freeAllocatedSingleString(field);
+ if (ret)
+ {
+ LhsVar(1) = Rhs + 1;
+ }
+ else
+ {
+ LhsVar(1) = 0;
+ }
+ PutLhsVar();
+
+ return 0;
+}
diff --git a/modules/xml/src/cpp/insertion.hxx b/modules/xml/src/cpp/insertion.hxx
new file mode 100755
index 000000000..59bccab45
--- /dev/null
+++ b/modules/xml/src/cpp/insertion.hxx
@@ -0,0 +1,253 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __INSERTION_HPP__
+#define __INSERTION_HPP__
+
+#include "XMLRhsValue.hxx"
+
+extern "C"
+{
+#include <stdio.h>
+#include "gw_xml.h"
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "xml_mlist.h"
+#include "localization.h"
+}
+
+using namespace org_modules_xml;
+
+/*--------------------------------------------------------------------------*/
+#define __XML_CHECK_TYPE__(TYPEIN,REQUIREDTYPE,FIELD) if (typeid(TYPEIN) != typeid(REQUIREDTYPE)) \
+ { \
+ Scierror(999, gettext("%s: Wrong type to set %s field.\n"), fname, FIELD); \
+ return false; \
+ }
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Sets the properties of a XMLDocument
+ * A value will have the type T
+ * @param fname function name
+ * @param doc the XMLDocument
+ * @param field te field name
+ * @param value the new value
+ */
+template <class T>
+bool setProperty(char * fname, org_modules_xml::XMLDocument & doc, const char * field, T & value)
+{
+ if (!strcmp("root", field))
+ {
+ if (typeid(T &) != typeid(XMLElement &) && typeid(T &) != typeid(std::string &))
+ {
+ Scierror(999, gettext("%s: Wrong type to set %s field.\n"), fname, "root");
+ return false;
+ }
+ if (typeid(T &) == typeid(XMLElement &))
+ {
+ doc.setRoot((XMLElement &)value);
+ }
+ else
+ {
+ std::string error;
+ doc.setRoot((std::string &)value, &error);
+ if (!error.empty())
+ {
+ Scierror(999, gettext("%s: Not valid xml for root.\n"), fname);
+ return false;
+ }
+ }
+ }
+ else if (!strcmp("url", field))
+ {
+ __XML_CHECK_TYPE__(T &, std::string &, "url");
+ doc.setDocumentURL((std::string &)value);
+ }
+ else
+ {
+ Scierror(999, gettext("%s: Unknown field: %s\n"), fname, field);
+ return false;
+ }
+
+ return true;
+}
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Sets the properties of a XMLElement
+ * A value will have the type T
+ * @param fname function name
+ * @param elem the XMLElement
+ * @param field te field name
+ * @param value the new value
+ */
+template <class T>
+bool setProperty(char * fname, XMLElement & elem, const char * field, T & value)
+{
+ if (!strcmp("name", field))
+ {
+ __XML_CHECK_TYPE__(T &, std::string &, "name");
+ elem.setNodeName((std::string &)value);
+ }
+ else if (!strcmp("namespace", field))
+ {
+ __XML_CHECK_TYPE__(T &, XMLNs &, "namespace");
+ elem.setNodeNameSpace((XMLNs &)value);
+ }
+ else if (!strcmp("content", field))
+ {
+ __XML_CHECK_TYPE__(T &, std::string &, "content");
+ elem.setNodeContent((std::string &)value);
+ }
+ else if (!strcmp("type", field))
+ {
+ Scierror(999, gettext("%s: Field %s is not modifiable: %s\n"), fname, "type");
+ return false;
+ }
+ else if (!strcmp("parent", field))
+ {
+ Scierror(999, gettext("%s: Field %s is not modifiable: %s\n"), fname, "parent");
+ return false;
+ }
+ else if (!strcmp("attributes", field))
+ {
+ __XML_CHECK_TYPE__(T &, XMLAttr &, "attributes");
+ elem.setAttributes((XMLAttr &)value);
+ }
+ else if (!strcmp("children", field))
+ {
+ if (typeid(T &) != typeid(XMLElement &) && typeid(T &) != typeid(XMLNodeList &) && typeid(T &) != typeid(std::string &))
+ {
+ Scierror(999, gettext("%s: Wrong type to set %s field.\n"), fname, "children");
+ return false;
+ }
+ if (typeid(T &) == typeid(XMLElement &))
+ {
+ elem.setChildren((XMLElement &)value);
+ }
+ else if (typeid(T &) == typeid(XMLNodeList &))
+ {
+ elem.setChildren((XMLNodeList &)value);
+ }
+ else
+ {
+ elem.setChildren((std::string &)value);
+ }
+ }
+ else
+ {
+ Scierror(999, gettext("%s: Unknown field: %s\n"), fname, field);
+ return false;
+ }
+
+ return true;
+}
+/*--------------------------------------------------------------------------*/
+
+/**
+ * Function to handle insertion in different XMLObjects
+ * @param fname the function name
+ * @param fname_len the function name length
+ */
+template<class T, class U>
+int sci_insertion(char * fname, void* pvApiCtx)
+{
+ T * a;
+ U * b;
+ int lhsid;
+ SciErr err;
+ int * fieldaddr = 0;
+ int * rhsaddr = 0;
+ int * lhsaddr = 0;
+ char * field = 0;
+ bool success;
+
+ CheckLhs(1, 1);
+ CheckRhs(3, 3);
+
+ err = getVarAddressFromPosition(pvApiCtx, 1, &fieldaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (!isStringType(pvApiCtx, fieldaddr))
+ {
+ Scierror(999, gettext("%s: Wrong type for input argument #%i: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ err = getVarAddressFromPosition(pvApiCtx, 2, &rhsaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ err = getVarAddressFromPosition(pvApiCtx, 3, &lhsaddr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, fieldaddr, &field) != 0)
+ {
+ Scierror(999, _("%s: No more memory.\n"), fname);
+ return 0;
+ }
+ lhsid = getXMLObjectId(lhsaddr, pvApiCtx);
+
+ a = XMLObject::getFromId<T>(lhsid);
+ if (!a)
+ {
+ freeAllocatedSingleString(field);
+ Scierror(999, gettext("%s: XML object does not exist.\n"), fname);
+ return 0;
+ }
+
+ success = XMLRhsValue::get(fname, rhsaddr, &b, pvApiCtx);
+ if (!success)
+ {
+ freeAllocatedSingleString(field);
+ Scierror(999, gettext("%s: Error in getting rhs argument.\n"), fname);
+ return 0;
+ }
+
+ success = setProperty<U>(fname, *a, const_cast<char *>(field), *b);
+ freeAllocatedSingleString(field);
+
+ if (typeid(U) == typeid(std::string))
+ {
+ delete b;
+ }
+
+ if (a->createOnStack(Rhs + 1, pvApiCtx))
+ {
+ LhsVar(1) = Rhs + 1;
+ }
+ else
+ {
+ LhsVar(1) = 0;
+ }
+
+ PutLhsVar();
+
+ return 0;
+}
+
+#endif
diff --git a/modules/xml/src/cpp/libscixml_algo_la-VariableScope.lo b/modules/xml/src/cpp/libscixml_algo_la-VariableScope.lo
new file mode 100755
index 000000000..dbbd92877
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-VariableScope.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-VariableScope.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-VariableScope.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLAttr.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLAttr.lo
new file mode 100755
index 000000000..9fcaa51ca
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLAttr.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLAttr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLAttr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLDocument.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLDocument.lo
new file mode 100755
index 000000000..9c96939ca
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLDocument.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLDocument.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLDocument.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLElement.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLElement.lo
new file mode 100755
index 000000000..2de601ee5
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLElement.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLElement.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLElement.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLList.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLList.lo
new file mode 100755
index 000000000..fbce9c99f
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLList.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLList.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLList.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLNodeList.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLNodeList.lo
new file mode 100755
index 000000000..a04140862
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLNodeList.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLNodeList.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLNodeList.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLNodeSet.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLNodeSet.lo
new file mode 100755
index 000000000..55159ed98
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLNodeSet.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLNodeSet.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLNodeSet.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLNotHandledElement.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLNotHandledElement.lo
new file mode 100755
index 000000000..5eb26ad75
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLNotHandledElement.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLNotHandledElement.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLNotHandledElement.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLNs.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLNs.lo
new file mode 100755
index 000000000..06526929a
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLNs.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLNs.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLNs.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLObject.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLObject.lo
new file mode 100755
index 000000000..28c63f398
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLObject.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLObject.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLObject.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLValidation.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLValidation.lo
new file mode 100755
index 000000000..6e801fdfe
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLValidation.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLValidation.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLValidation.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLValidationDTD.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLValidationDTD.lo
new file mode 100755
index 000000000..ea7431782
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLValidationDTD.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLValidationDTD.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLValidationDTD.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLValidationRelaxNG.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLValidationRelaxNG.lo
new file mode 100755
index 000000000..eb56e58d4
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLValidationRelaxNG.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLValidationRelaxNG.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLValidationRelaxNG.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLValidationSchema.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLValidationSchema.lo
new file mode 100755
index 000000000..a64399f0d
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLValidationSchema.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLValidationSchema.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLValidationSchema.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/xml/src/cpp/libscixml_algo_la-XMLXPath.lo b/modules/xml/src/cpp/libscixml_algo_la-XMLXPath.lo
new file mode 100755
index 000000000..fd70a96a4
--- /dev/null
+++ b/modules/xml/src/cpp/libscixml_algo_la-XMLXPath.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscixml_algo_la-XMLXPath.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscixml_algo_la-XMLXPath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+