content_server 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. data/bin/backup_server +8 -20
  2. data/bin/content_server +8 -20
  3. data/bin/testing_memory +60 -0
  4. data/bin/testing_server +57 -0
  5. data/ext/run_in_background/mkrf_conf.rb +34 -0
  6. data/lib/content_data/content_data.rb +613 -0
  7. data/lib/content_data/version.rb +3 -0
  8. data/lib/content_data.rb +6 -0
  9. data/lib/content_server/backup_server.rb +65 -86
  10. data/lib/content_server/content_server.rb +47 -77
  11. data/lib/content_server/file_streamer.rb +27 -33
  12. data/lib/content_server/queue_copy.rb +154 -49
  13. data/lib/content_server/queue_indexer.rb +19 -11
  14. data/lib/content_server/remote_content.rb +41 -23
  15. data/lib/content_server/server.rb +91 -0
  16. data/lib/content_server/version.rb +1 -1
  17. data/lib/content_server.rb +0 -15
  18. data/lib/email/email.rb +87 -0
  19. data/lib/email/version.rb +3 -0
  20. data/lib/email.rb +4 -0
  21. data/lib/file_copy/copy.rb +68 -0
  22. data/lib/file_copy/version.rb +4 -0
  23. data/lib/file_copy.rb +4 -0
  24. data/lib/file_indexing/index_agent.rb +170 -0
  25. data/lib/file_indexing/indexer_patterns.rb +72 -0
  26. data/lib/file_indexing/version.rb +3 -0
  27. data/lib/file_indexing.rb +9 -0
  28. data/lib/file_monitoring/file_monitoring.rb +105 -0
  29. data/lib/file_monitoring/monitor_path.rb +304 -0
  30. data/lib/file_monitoring/version.rb +3 -0
  31. data/lib/file_monitoring.rb +29 -0
  32. data/lib/file_utils/file_generator/README +97 -0
  33. data/lib/file_utils/file_generator/file_generator.rb +156 -0
  34. data/lib/file_utils/file_utils.rb +260 -0
  35. data/lib/file_utils/version.rb +3 -0
  36. data/lib/file_utils.rb +4 -0
  37. data/lib/log/version.rb +3 -0
  38. data/lib/log.rb +188 -0
  39. data/lib/networking/tcp.rb +213 -0
  40. data/lib/networking/version.rb +3 -0
  41. data/lib/networking.rb +4 -0
  42. data/lib/params/version.rb +3 -0
  43. data/lib/params.rb +419 -0
  44. data/lib/process_monitoring/monitoring.rb +85 -0
  45. data/lib/process_monitoring/monitoring_info.rb +79 -0
  46. data/lib/process_monitoring/send_email.rb +40 -0
  47. data/lib/process_monitoring/thread_safe_hash.rb +77 -0
  48. data/lib/process_monitoring/version.rb +3 -0
  49. data/lib/process_monitoring.rb +6 -0
  50. data/lib/run_in_background/version.rb +3 -0
  51. data/lib/run_in_background.rb +432 -0
  52. data/lib/testing_memory/testing_memory.rb +187 -0
  53. data/lib/testing_server/testing_server.rb +236 -0
  54. data/lib/testing_server/version.rb +3 -0
  55. data/lib/testing_server.rb +12 -0
  56. data/lib/validations/index_validations.rb +106 -0
  57. data/lib/validations/version.rb +3 -0
  58. data/lib/validations.rb +4 -0
  59. data/spec/content_data/validations_spec.rb +113 -0
  60. data/spec/file_copy/copy_spec.rb +54 -0
  61. data/spec/file_indexing/index_agent_spec.rb +53 -0
  62. data/spec/networking/tcp_spec.rb +95 -0
  63. data/spec/validations/index_validations_spec.rb +77 -0
  64. data/test/content_data/content_data_test.rb +290 -0
  65. data/test/file_generator/file_generator_spec.rb +84 -0
  66. data/test/file_indexing/index_agent_test/New.txt +0 -0
  67. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/bin/libexslt.dll +0 -0
  68. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/bin/libxslt.dll +0 -0
  69. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/bin/xsltproc.exe +0 -0
  70. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exslt.h +102 -0
  71. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exsltconfig.h +73 -0
  72. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exsltexports.h +140 -0
  73. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/libexslt.h +29 -0
  74. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/attributes.h +38 -0
  75. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/documents.h +93 -0
  76. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/extensions.h +262 -0
  77. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/extra.h +80 -0
  78. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/functions.h +78 -0
  79. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/imports.h +75 -0
  80. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/keys.h +53 -0
  81. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/libxslt.h +30 -0
  82. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/namespaces.h +68 -0
  83. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/numbersInternals.h +69 -0
  84. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/pattern.h +81 -0
  85. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/preproc.h +43 -0
  86. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/security.h +104 -0
  87. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/templates.h +77 -0
  88. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/transform.h +207 -0
  89. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/trio.h +216 -0
  90. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/triodef.h +220 -0
  91. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/variables.h +91 -0
  92. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/win32config.h +101 -0
  93. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xslt.h +103 -0
  94. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltInternals.h +1967 -0
  95. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltconfig.h +172 -0
  96. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltexports.h +142 -0
  97. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltlocale.h +57 -0
  98. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltutils.h +309 -0
  99. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltwin32config.h +105 -0
  100. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libexslt.lib +0 -0
  101. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libexslt_a.lib +0 -0
  102. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libxslt.lib +0 -0
  103. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libxslt_a.lib +0 -0
  104. data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/readme.txt +22 -0
  105. data/test/file_indexing/index_agent_test/patterns.input +3 -0
  106. data/test/file_indexing/index_agent_test.rb +51 -0
  107. data/test/file_monitoring/file_monitoring_test/conf.yml +4 -0
  108. data/test/file_monitoring/file_monitoring_test/conf_win32.yml +5 -0
  109. data/test/file_monitoring/file_monitoring_test/log +56 -0
  110. data/test/file_monitoring/file_monitoring_test.rb +0 -0
  111. data/test/file_monitoring/monitor_path_test/dir1000/test_file.1000 +1000 -0
  112. data/test/file_monitoring/monitor_path_test/dir1000/test_file.1000.0 +1000 -0
  113. data/test/file_monitoring/monitor_path_test/dir1000/test_file.1000.1 +1000 -0
  114. data/test/file_monitoring/monitor_path_test/dir1500/test_file.1500 +1500 -0
  115. data/test/file_monitoring/monitor_path_test/dir1500/test_file.1500.0 +1500 -0
  116. data/test/file_monitoring/monitor_path_test/dir1500/test_file.1500.1 +1500 -0
  117. data/test/file_monitoring/monitor_path_test/test_file.500 +500 -0
  118. data/test/file_monitoring/monitor_path_test/test_file.500.0 +500 -0
  119. data/test/file_monitoring/monitor_path_test/test_file.500.1 +500 -0
  120. data/test/file_monitoring/monitor_path_test.rb +153 -0
  121. data/test/file_utils/fileutil_mksymlink_test/dir1000/dir1500/test_file.1500 +1500 -0
  122. data/test/file_utils/fileutil_mksymlink_test/dir1000/dir1500/test_file.1500.0 +1500 -0
  123. data/test/file_utils/fileutil_mksymlink_test/dir1000/dir1500/test_file.1500.1 +1500 -0
  124. data/test/file_utils/fileutil_mksymlink_test/dir1000/test_file.1000 +1000 -0
  125. data/test/file_utils/fileutil_mksymlink_test/dir1000/test_file.1000.0 +1000 -0
  126. data/test/file_utils/fileutil_mksymlink_test/dir1000/test_file.1000.1 +1000 -0
  127. data/test/file_utils/fileutil_mksymlink_test/test_file.500 +500 -0
  128. data/test/file_utils/fileutil_mksymlink_test/test_file.500.0 +500 -0
  129. data/test/file_utils/fileutil_mksymlink_test/test_file.500.1 +500 -0
  130. data/test/file_utils/fileutil_mksymlink_test.rb +125 -0
  131. data/test/file_utils/time_modification_test.rb +132 -0
  132. data/test/params/params_spec.rb +280 -0
  133. data/test/params/params_test.rb +43 -0
  134. data/test/run_in_background/run_in_background_test.rb +122 -0
  135. data/test/run_in_background/test_app +57 -0
  136. metadata +272 -132
  137. data/lib/content_server/globals.rb +0 -10
@@ -0,0 +1,140 @@
1
+ /*
2
+ * exsltexports.h : macros for marking symbols as exportable/importable.
3
+ *
4
+ * See Copyright for the status of this software.
5
+ *
6
+ * igor@zlatkovic.com
7
+ */
8
+
9
+ #ifndef __EXSLT_EXPORTS_H__
10
+ #define __EXSLT_EXPORTS_H__
11
+
12
+ /**
13
+ * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL
14
+ *
15
+ * Macros which declare an exportable function, an exportable variable and
16
+ * the calling convention used for functions.
17
+ *
18
+ * Please use an extra block for every platform/compiler combination when
19
+ * modifying this, rather than overlong #ifdef lines. This helps
20
+ * readability as well as the fact that different compilers on the same
21
+ * platform might need different definitions.
22
+ */
23
+
24
+ /**
25
+ * EXSLTPUBFUN:
26
+ *
27
+ * Macros which declare an exportable function
28
+ */
29
+ #define EXSLTPUBFUN
30
+ /**
31
+ * EXSLTPUBVAR:
32
+ *
33
+ * Macros which declare an exportable variable
34
+ */
35
+ #define EXSLTPUBVAR extern
36
+ /**
37
+ * EXSLTCALL:
38
+ *
39
+ * Macros which declare the called convention for exported functions
40
+ */
41
+ #define EXSLTCALL
42
+
43
+ /** DOC_DISABLE */
44
+
45
+ /* Windows platform with MS compiler */
46
+ #if defined(_WIN32) && defined(_MSC_VER)
47
+ #undef EXSLTPUBFUN
48
+ #undef EXSLTPUBVAR
49
+ #undef EXSLTCALL
50
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
51
+ #define EXSLTPUBFUN __declspec(dllexport)
52
+ #define EXSLTPUBVAR __declspec(dllexport)
53
+ #else
54
+ #define EXSLTPUBFUN
55
+ #if !defined(LIBEXSLT_STATIC)
56
+ #define EXSLTPUBVAR __declspec(dllimport) extern
57
+ #else
58
+ #define EXSLTPUBVAR extern
59
+ #endif
60
+ #endif
61
+ #define EXSLTCALL __cdecl
62
+ #if !defined _REENTRANT
63
+ #define _REENTRANT
64
+ #endif
65
+ #endif
66
+
67
+ /* Windows platform with Borland compiler */
68
+ #if defined(_WIN32) && defined(__BORLANDC__)
69
+ #undef EXSLTPUBFUN
70
+ #undef EXSLTPUBVAR
71
+ #undef EXSLTCALL
72
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
73
+ #define EXSLTPUBFUN __declspec(dllexport)
74
+ #define EXSLTPUBVAR __declspec(dllexport) extern
75
+ #else
76
+ #define EXSLTPUBFUN
77
+ #if !defined(LIBEXSLT_STATIC)
78
+ #define EXSLTPUBVAR __declspec(dllimport) extern
79
+ #else
80
+ #define EXSLTPUBVAR extern
81
+ #endif
82
+ #endif
83
+ #define EXSLTCALL __cdecl
84
+ #if !defined _REENTRANT
85
+ #define _REENTRANT
86
+ #endif
87
+ #endif
88
+
89
+ /* Windows platform with GNU compiler (Mingw) */
90
+ #if defined(_WIN32) && defined(__MINGW32__)
91
+ #undef EXSLTPUBFUN
92
+ #undef EXSLTPUBVAR
93
+ #undef EXSLTCALL
94
+ /*
95
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
96
+ */
97
+ #if !defined(LIBEXSLT_STATIC)
98
+ #define EXSLTPUBFUN __declspec(dllexport)
99
+ #define EXSLTPUBVAR __declspec(dllexport) extern
100
+ #else
101
+ #define EXSLTPUBFUN
102
+ #if !defined(LIBEXSLT_STATIC)
103
+ #define EXSLTPUBVAR __declspec(dllimport) extern
104
+ #else
105
+ #define EXSLTPUBVAR extern
106
+ #endif
107
+ #endif
108
+ #define EXSLTCALL __cdecl
109
+ #if !defined _REENTRANT
110
+ #define _REENTRANT
111
+ #endif
112
+ #endif
113
+
114
+ /* Cygwin platform, GNU compiler */
115
+ #if defined(_WIN32) && defined(__CYGWIN__)
116
+ #undef EXSLTPUBFUN
117
+ #undef EXSLTPUBVAR
118
+ #undef EXSLTCALL
119
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
120
+ #define EXSLTPUBFUN __declspec(dllexport)
121
+ #define EXSLTPUBVAR __declspec(dllexport)
122
+ #else
123
+ #define EXSLTPUBFUN
124
+ #if !defined(LIBEXSLT_STATIC)
125
+ #define EXSLTPUBVAR __declspec(dllimport) extern
126
+ #else
127
+ #define EXSLTPUBVAR
128
+ #endif
129
+ #endif
130
+ #define EXSLTCALL __cdecl
131
+ #endif
132
+
133
+ /* Compatibility */
134
+ #if !defined(LIBEXSLT_PUBLIC)
135
+ #define LIBEXSLT_PUBLIC EXSLTPUBVAR
136
+ #endif
137
+
138
+ #endif /* __EXSLT_EXPORTS_H__ */
139
+
140
+
@@ -0,0 +1,29 @@
1
+ /*
2
+ * libexslt.h: internal header only used during the compilation of libexslt
3
+ *
4
+ * See COPYRIGHT for the status of this software
5
+ *
6
+ * Author: daniel@veillard.com
7
+ */
8
+
9
+ #ifndef __XSLT_LIBEXSLT_H__
10
+ #define __XSLT_LIBEXSLT_H__
11
+
12
+ #if defined(WIN32) && !defined (__CYGWIN__) && !defined (__MINGW32__)
13
+ #include <win32config.h>
14
+ #else
15
+ #include "config.h"
16
+ #endif
17
+
18
+ #include <libxslt/xsltconfig.h>
19
+ #include <libxml/xmlversion.h>
20
+
21
+ #if !defined LIBEXSLT_PUBLIC
22
+ #if (defined (__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBEXSLT && !defined LIBEXSLT_STATIC
23
+ #define LIBEXSLT_PUBLIC __declspec(dllimport)
24
+ #else
25
+ #define LIBEXSLT_PUBLIC
26
+ #endif
27
+ #endif
28
+
29
+ #endif /* ! __XSLT_LIBEXSLT_H__ */
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Summary: interface for the XSLT attribute handling
3
+ * Description: this module handles the specificities of attribute
4
+ * and attribute groups processing.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_ATTRIBUTES_H__
12
+ #define __XML_XSLT_ATTRIBUTES_H__
13
+
14
+ #include <libxml/tree.h>
15
+ #include "xsltexports.h"
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ XSLTPUBFUN void XSLTCALL
22
+ xsltParseStylesheetAttributeSet (xsltStylesheetPtr style,
23
+ xmlNodePtr cur);
24
+ XSLTPUBFUN void XSLTCALL
25
+ xsltFreeAttributeSetsHashes (xsltStylesheetPtr style);
26
+ XSLTPUBFUN void XSLTCALL
27
+ xsltApplyAttributeSet (xsltTransformContextPtr ctxt,
28
+ xmlNodePtr node,
29
+ xmlNodePtr inst,
30
+ const xmlChar *attributes);
31
+ XSLTPUBFUN void XSLTCALL
32
+ xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style);
33
+ #ifdef __cplusplus
34
+ }
35
+ #endif
36
+
37
+ #endif /* __XML_XSLT_ATTRIBUTES_H__ */
38
+
@@ -0,0 +1,93 @@
1
+ /*
2
+ * Summary: interface for the document handling
3
+ * Description: implements document loading and cache (multiple
4
+ * document() reference for the same resources must
5
+ * be equal.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_XSLT_DOCUMENTS_H__
13
+ #define __XML_XSLT_DOCUMENTS_H__
14
+
15
+ #include <libxml/tree.h>
16
+ #include "xsltexports.h"
17
+ #include "xsltInternals.h"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
24
+ xsltNewDocument (xsltTransformContextPtr ctxt,
25
+ xmlDocPtr doc);
26
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
27
+ xsltLoadDocument (xsltTransformContextPtr ctxt,
28
+ const xmlChar *URI);
29
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
30
+ xsltFindDocument (xsltTransformContextPtr ctxt,
31
+ xmlDocPtr doc);
32
+ XSLTPUBFUN void XSLTCALL
33
+ xsltFreeDocuments (xsltTransformContextPtr ctxt);
34
+
35
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
36
+ xsltLoadStyleDocument (xsltStylesheetPtr style,
37
+ const xmlChar *URI);
38
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
39
+ xsltNewStyleDocument (xsltStylesheetPtr style,
40
+ xmlDocPtr doc);
41
+ XSLTPUBFUN void XSLTCALL
42
+ xsltFreeStyleDocuments (xsltStylesheetPtr style);
43
+
44
+ /*
45
+ * Hooks for document loading
46
+ */
47
+
48
+ /**
49
+ * xsltLoadType:
50
+ *
51
+ * Enum defining the kind of loader requirement.
52
+ */
53
+ typedef enum {
54
+ XSLT_LOAD_START = 0, /* loading for a top stylesheet */
55
+ XSLT_LOAD_STYLESHEET = 1, /* loading for a stylesheet include/import */
56
+ XSLT_LOAD_DOCUMENT = 2 /* loading document at transformation time */
57
+ } xsltLoadType;
58
+
59
+ /**
60
+ * xsltDocLoaderFunc:
61
+ * @URI: the URI of the document to load
62
+ * @dict: the dictionary to use when parsing that document
63
+ * @options: parsing options, a set of xmlParserOption
64
+ * @ctxt: the context, either a stylesheet or a transformation context
65
+ * @type: the xsltLoadType indicating the kind of loading required
66
+ *
67
+ * An xsltDocLoaderFunc is a signature for a function which can be
68
+ * registered to load document not provided by the compilation or
69
+ * transformation API themselve, for example when an xsl:import,
70
+ * xsl:include is found at compilation time or when a document()
71
+ * call is made at runtime.
72
+ *
73
+ * Returns the pointer to the document (which will be modified and
74
+ * freed by the engine later), or NULL in case of error.
75
+ */
76
+ typedef xmlDocPtr (*xsltDocLoaderFunc) (const xmlChar *URI,
77
+ xmlDictPtr dict,
78
+ int options,
79
+ void *ctxt,
80
+ xsltLoadType type);
81
+
82
+ XSLTPUBFUN void XSLTCALL
83
+ xsltSetLoaderFunc (xsltDocLoaderFunc f);
84
+
85
+ /* the loader may be needed by extension libraries so it is exported */
86
+ XSLTPUBVAR xsltDocLoaderFunc xsltDocDefaultLoader;
87
+
88
+ #ifdef __cplusplus
89
+ }
90
+ #endif
91
+
92
+ #endif /* __XML_XSLT_DOCUMENTS_H__ */
93
+
@@ -0,0 +1,262 @@
1
+ /*
2
+ * Summary: interface for the extension support
3
+ * Description: This provide the API needed for simple and module
4
+ * extension support.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_EXTENSION_H__
12
+ #define __XML_XSLT_EXTENSION_H__
13
+
14
+ #include <libxml/xpath.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * Extension Modules API.
24
+ */
25
+
26
+ /**
27
+ * xsltInitGlobals:
28
+ *
29
+ * Initialize the global variables for extensions
30
+ *
31
+ */
32
+
33
+ XSLTPUBFUN void XSLTCALL
34
+ xsltInitGlobals (void);
35
+
36
+ /**
37
+ * xsltStyleExtInitFunction:
38
+ * @ctxt: an XSLT stylesheet
39
+ * @URI: the namespace URI for the extension
40
+ *
41
+ * A function called at initialization time of an XSLT extension module.
42
+ *
43
+ * Returns a pointer to the module specific data for this transformation.
44
+ */
45
+ typedef void * (*xsltStyleExtInitFunction) (xsltStylesheetPtr style,
46
+ const xmlChar *URI);
47
+
48
+ /**
49
+ * xsltStyleExtShutdownFunction:
50
+ * @ctxt: an XSLT stylesheet
51
+ * @URI: the namespace URI for the extension
52
+ * @data: the data associated to this module
53
+ *
54
+ * A function called at shutdown time of an XSLT extension module.
55
+ */
56
+ typedef void (*xsltStyleExtShutdownFunction) (xsltStylesheetPtr style,
57
+ const xmlChar *URI,
58
+ void *data);
59
+
60
+ /**
61
+ * xsltExtInitFunction:
62
+ * @ctxt: an XSLT transformation context
63
+ * @URI: the namespace URI for the extension
64
+ *
65
+ * A function called at initialization time of an XSLT extension module.
66
+ *
67
+ * Returns a pointer to the module specific data for this transformation.
68
+ */
69
+ typedef void * (*xsltExtInitFunction) (xsltTransformContextPtr ctxt,
70
+ const xmlChar *URI);
71
+
72
+ /**
73
+ * xsltExtShutdownFunction:
74
+ * @ctxt: an XSLT transformation context
75
+ * @URI: the namespace URI for the extension
76
+ * @data: the data associated to this module
77
+ *
78
+ * A function called at shutdown time of an XSLT extension module.
79
+ */
80
+ typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt,
81
+ const xmlChar *URI,
82
+ void *data);
83
+
84
+ XSLTPUBFUN int XSLTCALL
85
+ xsltRegisterExtModule (const xmlChar *URI,
86
+ xsltExtInitFunction initFunc,
87
+ xsltExtShutdownFunction shutdownFunc);
88
+ XSLTPUBFUN int XSLTCALL
89
+ xsltRegisterExtModuleFull
90
+ (const xmlChar * URI,
91
+ xsltExtInitFunction initFunc,
92
+ xsltExtShutdownFunction shutdownFunc,
93
+ xsltStyleExtInitFunction styleInitFunc,
94
+ xsltStyleExtShutdownFunction styleShutdownFunc);
95
+
96
+ XSLTPUBFUN int XSLTCALL
97
+ xsltUnregisterExtModule (const xmlChar * URI);
98
+
99
+ XSLTPUBFUN void * XSLTCALL
100
+ xsltGetExtData (xsltTransformContextPtr ctxt,
101
+ const xmlChar *URI);
102
+
103
+ XSLTPUBFUN void * XSLTCALL
104
+ xsltStyleGetExtData (xsltStylesheetPtr style,
105
+ const xmlChar *URI);
106
+ #ifdef XSLT_REFACTORED
107
+ XSLTPUBFUN void * XSLTCALL
108
+ xsltStyleStylesheetLevelGetExtData(
109
+ xsltStylesheetPtr style,
110
+ const xmlChar * URI);
111
+ #endif
112
+ XSLTPUBFUN void XSLTCALL
113
+ xsltShutdownCtxtExts (xsltTransformContextPtr ctxt);
114
+
115
+ XSLTPUBFUN void XSLTCALL
116
+ xsltShutdownExts (xsltStylesheetPtr style);
117
+
118
+ XSLTPUBFUN xsltTransformContextPtr XSLTCALL
119
+ xsltXPathGetTransformContext
120
+ (xmlXPathParserContextPtr ctxt);
121
+
122
+ /*
123
+ * extension functions
124
+ */
125
+ XSLTPUBFUN int XSLTCALL
126
+ xsltRegisterExtModuleFunction
127
+ (const xmlChar *name,
128
+ const xmlChar *URI,
129
+ xmlXPathFunction function);
130
+ XSLTPUBFUN xmlXPathFunction XSLTCALL
131
+ xsltExtModuleFunctionLookup (const xmlChar *name,
132
+ const xmlChar *URI);
133
+ XSLTPUBFUN int XSLTCALL
134
+ xsltUnregisterExtModuleFunction
135
+ (const xmlChar *name,
136
+ const xmlChar *URI);
137
+
138
+ /*
139
+ * extension elements
140
+ */
141
+ typedef xsltElemPreCompPtr (*xsltPreComputeFunction)
142
+ (xsltStylesheetPtr style,
143
+ xmlNodePtr inst,
144
+ xsltTransformFunction function);
145
+
146
+ XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
147
+ xsltNewElemPreComp (xsltStylesheetPtr style,
148
+ xmlNodePtr inst,
149
+ xsltTransformFunction function);
150
+ XSLTPUBFUN void XSLTCALL
151
+ xsltInitElemPreComp (xsltElemPreCompPtr comp,
152
+ xsltStylesheetPtr style,
153
+ xmlNodePtr inst,
154
+ xsltTransformFunction function,
155
+ xsltElemPreCompDeallocator freeFunc);
156
+
157
+ XSLTPUBFUN int XSLTCALL
158
+ xsltRegisterExtModuleElement
159
+ (const xmlChar *name,
160
+ const xmlChar *URI,
161
+ xsltPreComputeFunction precomp,
162
+ xsltTransformFunction transform);
163
+ XSLTPUBFUN xsltTransformFunction XSLTCALL
164
+ xsltExtElementLookup (xsltTransformContextPtr ctxt,
165
+ const xmlChar *name,
166
+ const xmlChar *URI);
167
+ XSLTPUBFUN xsltTransformFunction XSLTCALL
168
+ xsltExtModuleElementLookup
169
+ (const xmlChar *name,
170
+ const xmlChar *URI);
171
+ XSLTPUBFUN xsltPreComputeFunction XSLTCALL
172
+ xsltExtModuleElementPreComputeLookup
173
+ (const xmlChar *name,
174
+ const xmlChar *URI);
175
+ XSLTPUBFUN int XSLTCALL
176
+ xsltUnregisterExtModuleElement
177
+ (const xmlChar *name,
178
+ const xmlChar *URI);
179
+
180
+ /*
181
+ * top-level elements
182
+ */
183
+ typedef void (*xsltTopLevelFunction) (xsltStylesheetPtr style,
184
+ xmlNodePtr inst);
185
+
186
+ XSLTPUBFUN int XSLTCALL
187
+ xsltRegisterExtModuleTopLevel
188
+ (const xmlChar *name,
189
+ const xmlChar *URI,
190
+ xsltTopLevelFunction function);
191
+ XSLTPUBFUN xsltTopLevelFunction XSLTCALL
192
+ xsltExtModuleTopLevelLookup
193
+ (const xmlChar *name,
194
+ const xmlChar *URI);
195
+ XSLTPUBFUN int XSLTCALL
196
+ xsltUnregisterExtModuleTopLevel
197
+ (const xmlChar *name,
198
+ const xmlChar *URI);
199
+
200
+
201
+ /* These 2 functions are deprecated for use within modules. */
202
+ XSLTPUBFUN int XSLTCALL
203
+ xsltRegisterExtFunction (xsltTransformContextPtr ctxt,
204
+ const xmlChar *name,
205
+ const xmlChar *URI,
206
+ xmlXPathFunction function);
207
+ XSLTPUBFUN int XSLTCALL
208
+ xsltRegisterExtElement (xsltTransformContextPtr ctxt,
209
+ const xmlChar *name,
210
+ const xmlChar *URI,
211
+ xsltTransformFunction function);
212
+
213
+ /*
214
+ * Extension Prefix handling API.
215
+ * Those are used by the XSLT (pre)processor.
216
+ */
217
+
218
+ XSLTPUBFUN int XSLTCALL
219
+ xsltRegisterExtPrefix (xsltStylesheetPtr style,
220
+ const xmlChar *prefix,
221
+ const xmlChar *URI);
222
+ XSLTPUBFUN int XSLTCALL
223
+ xsltCheckExtPrefix (xsltStylesheetPtr style,
224
+ const xmlChar *URI);
225
+ XSLTPUBFUN int XSLTCALL
226
+ xsltCheckExtURI (xsltStylesheetPtr style,
227
+ const xmlChar *URI);
228
+ XSLTPUBFUN int XSLTCALL
229
+ xsltInitCtxtExts (xsltTransformContextPtr ctxt);
230
+ XSLTPUBFUN void XSLTCALL
231
+ xsltFreeCtxtExts (xsltTransformContextPtr ctxt);
232
+ XSLTPUBFUN void XSLTCALL
233
+ xsltFreeExts (xsltStylesheetPtr style);
234
+
235
+ XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
236
+ xsltPreComputeExtModuleElement
237
+ (xsltStylesheetPtr style,
238
+ xmlNodePtr inst);
239
+ /*
240
+ * Extension Infos access.
241
+ * Used by exslt initialisation
242
+ */
243
+
244
+ XSLTPUBFUN xmlHashTablePtr XSLTCALL
245
+ xsltGetExtInfo (xsltStylesheetPtr style,
246
+ const xmlChar *URI);
247
+
248
+ /**
249
+ * Test module http://xmlsoft.org/XSLT/
250
+ */
251
+ XSLTPUBFUN void XSLTCALL
252
+ xsltRegisterTestModule (void);
253
+ XSLTPUBFUN void XSLTCALL
254
+ xsltDebugDumpExtensions (FILE * output);
255
+
256
+
257
+ #ifdef __cplusplus
258
+ }
259
+ #endif
260
+
261
+ #endif /* __XML_XSLT_EXTENSION_H__ */
262
+
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Summary: interface for the non-standard features
3
+ * Description: implement some extension outside the XSLT namespace
4
+ * but not EXSLT with is in a different library.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_EXTRA_H__
12
+ #define __XML_XSLT_EXTRA_H__
13
+
14
+ #include <libxml/xpath.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * XSLT_LIBXSLT_NAMESPACE:
24
+ *
25
+ * This is the libxslt namespace for specific extensions.
26
+ */
27
+ #define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace")
28
+
29
+ /**
30
+ * XSLT_SAXON_NAMESPACE:
31
+ *
32
+ * This is Michael Kay's Saxon processor namespace for extensions.
33
+ */
34
+ #define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon")
35
+
36
+ /**
37
+ * XSLT_XT_NAMESPACE:
38
+ *
39
+ * This is James Clark's XT processor namespace for extensions.
40
+ */
41
+ #define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt")
42
+
43
+ /**
44
+ * XSLT_XALAN_NAMESPACE:
45
+ *
46
+ * This is the Apache project XALAN processor namespace for extensions.
47
+ */
48
+ #define XSLT_XALAN_NAMESPACE ((xmlChar *) \
49
+ "org.apache.xalan.xslt.extensions.Redirect")
50
+
51
+ /**
52
+ * XSLT_NORM_SAXON_NAMESPACE:
53
+ *
54
+ * This is Norm's namespace for SAXON extensions.
55
+ */
56
+ #define XSLT_NORM_SAXON_NAMESPACE ((xmlChar *) \
57
+ "http://nwalsh.com/xslt/ext/com.nwalsh.saxon.CVS")
58
+
59
+
60
+ XSLTPUBFUN void XSLTCALL
61
+ xsltFunctionNodeSet (xmlXPathParserContextPtr ctxt,
62
+ int nargs);
63
+ XSLTPUBFUN void XSLTCALL
64
+ xsltDebug (xsltTransformContextPtr ctxt,
65
+ xmlNodePtr node,
66
+ xmlNodePtr inst,
67
+ xsltStylePreCompPtr comp);
68
+
69
+
70
+ XSLTPUBFUN void XSLTCALL
71
+ xsltRegisterExtras (xsltTransformContextPtr ctxt);
72
+ XSLTPUBFUN void XSLTCALL
73
+ xsltRegisterAllExtras (void);
74
+
75
+ #ifdef __cplusplus
76
+ }
77
+ #endif
78
+
79
+ #endif /* __XML_XSLT_EXTRA_H__ */
80
+