gtksourceview2 1.2.1-x86-mingw32 → 1.2.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. data/lib/1.9/gtksourceview2.so +0 -0
  2. data/lib/2.0/gtksourceview2.so +0 -0
  3. metadata +452 -628
  4. data/lib/1.8/gtksourceview2.so +0 -0
  5. data/vendor/local/manifest/libxml2-dev_2.7.7-1_win32.mft +0 -267
  6. data/vendor/local/manifest/libxml2_2.7.7-1_win32.mft +0 -2
  7. data/vendor/local/share/doc/libxml2-2.7.7/Copyright +0 -27
  8. data/vendor/local/share/doc/libxml2-2.7.7/examples/testHTML.c +0 -880
  9. data/vendor/local/share/doc/libxml2-2.7.7/examples/testSAX.c +0 -1198
  10. data/vendor/local/share/doc/libxml2-2.7.7/examples/testXPath.c +0 -227
  11. data/vendor/local/share/doc/libxml2-2.7.7/examples/xmllint.c +0 -3722
  12. data/vendor/local/share/doc/libxml2-2.7.7/html/DOM.gif +0 -0
  13. data/vendor/local/share/doc/libxml2-2.7.7/html/FAQ.html +0 -282
  14. data/vendor/local/share/doc/libxml2-2.7.7/html/Libxml2-Logo-180x168.gif +0 -0
  15. data/vendor/local/share/doc/libxml2-2.7.7/html/Libxml2-Logo-90x34.gif +0 -0
  16. data/vendor/local/share/doc/libxml2-2.7.7/html/encoding.html +0 -206
  17. data/vendor/local/share/doc/libxml2-2.7.7/html/examples.xml +0 -751
  18. data/vendor/local/share/doc/libxml2-2.7.7/html/examples.xsl +0 -174
  19. data/vendor/local/share/doc/libxml2-2.7.7/html/html/book1.html +0 -13
  20. data/vendor/local/share/doc/libxml2-2.7.7/html/html/home.png +0 -0
  21. data/vendor/local/share/doc/libxml2-2.7.7/html/html/index.html +0 -13
  22. data/vendor/local/share/doc/libxml2-2.7.7/html/html/left.png +0 -0
  23. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-DOCBparser.html +0 -51
  24. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-HTMLparser.html +0 -182
  25. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-HTMLtree.html +0 -73
  26. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-SAX.html +0 -125
  27. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-SAX2.html +0 -128
  28. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-c14n.html +0 -38
  29. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-catalog.html +0 -142
  30. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-chvalid.html +0 -72
  31. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-debugXML.html +0 -120
  32. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-dict.html +0 -49
  33. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-encoding.html +0 -118
  34. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-entities.html +0 -79
  35. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-globals.html +0 -152
  36. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-hash.html +0 -116
  37. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-lib.html +0 -13
  38. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-list.html +0 -120
  39. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-nanoftp.html +0 -92
  40. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-nanohttp.html +0 -65
  41. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-parser.html +0 -555
  42. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-parserInternals.html +0 -319
  43. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-pattern.html +0 -76
  44. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-relaxng.html +0 -162
  45. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-schemasInternals.html +0 -373
  46. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-schematron.html +0 -81
  47. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-threads.html +0 -72
  48. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-tree.html +0 -958
  49. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-uri.html +0 -73
  50. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-valid.html +0 -289
  51. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xinclude.html +0 -59
  52. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xlink.html +0 -82
  53. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlIO.html +0 -206
  54. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlautomata.html +0 -85
  55. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlerror.html +0 -862
  56. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlexports.html +0 -20
  57. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlmemory.html +0 -107
  58. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlmodule.html +0 -38
  59. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlreader.html +0 -327
  60. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlregexp.html +0 -143
  61. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlsave.html +0 -59
  62. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlschemas.html +0 -173
  63. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlschemastypes.html +0 -123
  64. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlstring.html +0 -108
  65. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlunicode.html +0 -512
  66. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlversion.html +0 -60
  67. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xmlwriter.html +0 -258
  68. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xpath.html +0 -307
  69. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xpathInternals.html +0 -394
  70. data/vendor/local/share/doc/libxml2-2.7.7/html/html/libxml-xpointer.html +0 -83
  71. data/vendor/local/share/doc/libxml2-2.7.7/html/html/right.png +0 -0
  72. data/vendor/local/share/doc/libxml2-2.7.7/html/html/up.png +0 -0
  73. data/vendor/local/share/doc/libxml2-2.7.7/html/io1.c +0 -166
  74. data/vendor/local/share/doc/libxml2-2.7.7/html/io1.res +0 -5
  75. data/vendor/local/share/doc/libxml2-2.7.7/html/io2.c +0 -58
  76. data/vendor/local/share/doc/libxml2-2.7.7/html/io2.res +0 -2
  77. data/vendor/local/share/doc/libxml2-2.7.7/html/libxml.gif +0 -0
  78. data/vendor/local/share/doc/libxml2-2.7.7/html/parse1.c +0 -56
  79. data/vendor/local/share/doc/libxml2-2.7.7/html/parse2.c +0 -72
  80. data/vendor/local/share/doc/libxml2-2.7.7/html/parse3.c +0 -60
  81. data/vendor/local/share/doc/libxml2-2.7.7/html/parse4.c +0 -143
  82. data/vendor/local/share/doc/libxml2-2.7.7/html/reader1.c +0 -107
  83. data/vendor/local/share/doc/libxml2-2.7.7/html/reader1.res +0 -14
  84. data/vendor/local/share/doc/libxml2-2.7.7/html/reader2.c +0 -122
  85. data/vendor/local/share/doc/libxml2-2.7.7/html/reader3.c +0 -120
  86. data/vendor/local/share/doc/libxml2-2.7.7/html/reader3.res +0 -13
  87. data/vendor/local/share/doc/libxml2-2.7.7/html/reader4.c +0 -122
  88. data/vendor/local/share/doc/libxml2-2.7.7/html/reader4.res +0 -3
  89. data/vendor/local/share/doc/libxml2-2.7.7/html/redhat.gif +0 -0
  90. data/vendor/local/share/doc/libxml2-2.7.7/html/smallfootonly.gif +0 -0
  91. data/vendor/local/share/doc/libxml2-2.7.7/html/structure.gif +0 -0
  92. data/vendor/local/share/doc/libxml2-2.7.7/html/test1.xml +0 -1
  93. data/vendor/local/share/doc/libxml2-2.7.7/html/test2.xml +0 -13
  94. data/vendor/local/share/doc/libxml2-2.7.7/html/test3.xml +0 -39
  95. data/vendor/local/share/doc/libxml2-2.7.7/html/testWriter.c +0 -1198
  96. data/vendor/local/share/doc/libxml2-2.7.7/html/tree1.c +0 -94
  97. data/vendor/local/share/doc/libxml2-2.7.7/html/tree1.res +0 -4
  98. data/vendor/local/share/doc/libxml2-2.7.7/html/tree2.c +0 -118
  99. data/vendor/local/share/doc/libxml2-2.7.7/html/tree2.res +0 -18
  100. data/vendor/local/share/doc/libxml2-2.7.7/html/tst.xml +0 -7
  101. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/apa.html +0 -8
  102. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/apb.html +0 -14
  103. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/apc.html +0 -82
  104. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/apd.html +0 -76
  105. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ape.html +0 -78
  106. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/apf.html +0 -67
  107. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/apg.html +0 -75
  108. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/aph.html +0 -76
  109. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/api.html +0 -4
  110. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s02.html +0 -14
  111. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s03.html +0 -47
  112. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s04.html +0 -54
  113. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s05.html +0 -55
  114. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s06.html +0 -35
  115. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s07.html +0 -30
  116. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s08.html +0 -38
  117. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ar01s09.html +0 -63
  118. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/blank.png +0 -0
  119. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/1.png +0 -0
  120. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/10.png +0 -0
  121. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/2.png +0 -0
  122. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/3.png +0 -0
  123. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/4.png +0 -0
  124. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/5.png +0 -0
  125. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/6.png +0 -0
  126. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/7.png +0 -0
  127. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/8.png +0 -0
  128. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/callouts/9.png +0 -0
  129. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/caution.png +0 -0
  130. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/draft.png +0 -0
  131. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/home.png +0 -0
  132. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/important.png +0 -0
  133. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/next.png +0 -0
  134. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/note.png +0 -0
  135. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/prev.png +0 -0
  136. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/tip.png +0 -0
  137. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/toc-blank.png +0 -0
  138. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/toc-minus.png +0 -0
  139. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/toc-plus.png +0 -0
  140. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/up.png +0 -0
  141. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/images/warning.png +0 -0
  142. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/includeaddattribute.c +0 -64
  143. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/includeaddkeyword.c +0 -75
  144. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/includeconvert.c +0 -73
  145. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/includegetattribute.c +0 -72
  146. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/includekeyword.c +0 -79
  147. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/includexpath.c +0 -74
  148. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/index.html +0 -14
  149. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/ix01.html +0 -1
  150. data/vendor/local/share/doc/libxml2-2.7.7/html/tutorial/xmltutorial.pdf +0 -1336
  151. data/vendor/local/share/doc/libxml2-2.7.7/html/w3c.png +0 -0
  152. data/vendor/local/share/doc/libxml2-2.7.7/html/writer.xml +0 -2
  153. data/vendor/local/share/doc/libxml2-2.7.7/html/xml.html +0 -5344
  154. data/vendor/local/share/doc/libxml2-2.7.7/html/xpath1.c +0 -250
  155. data/vendor/local/share/doc/libxml2-2.7.7/html/xpath1.res +0 -5
  156. data/vendor/local/share/doc/libxml2-2.7.7/html/xpath2.c +0 -190
  157. data/vendor/local/share/doc/libxml2-2.7.7/html/xpath2.res +0 -30
  158. data/vendor/local/src/tml/packaging/libxml2_2.7.7-1_win32.log +0 -1244
  159. data/vendor/local/src/tml/packaging/libxml2_2.7.7-1_win32.sh +0 -66
@@ -1,3 +0,0 @@
1
- test1.xml: Processed ok
2
- test2.xml: Processed ok
3
- test3.xml: Processed ok
@@ -1,13 +0,0 @@
1
- <!DOCTYPE doc [
2
- <!ELEMENT doc (src | dest)*>
3
- <!ELEMENT src EMPTY>
4
- <!ELEMENT dest EMPTY>
5
- <!ATTLIST src ref IDREF #IMPLIED>
6
- <!ATTLIST dest id ID #IMPLIED>
7
- ]>
8
- <doc>
9
- <src ref="foo"/>
10
- <dest id="foo"/>
11
- <src ref="foo"/>
12
- </doc>
13
-
@@ -1,39 +0,0 @@
1
- <doc>
2
- <parent>
3
- <discarded>
4
- <discarded/>
5
- </discarded>
6
- <preserved/>
7
- This text node must be discarded
8
- <discarded>
9
- <discarded/>
10
- </discarded>
11
- <preserved>
12
- content1
13
- <child1></child1>
14
- <child2>content2</child2>
15
- <preserved>too</preserved>
16
- <child2>content3</child2>
17
- <preserved></preserved>
18
- <child2>content4</child2>
19
- <preserved/>
20
- <child2>content5</child2>
21
- content6
22
- </preserved>
23
- This text node must be discarded
24
- <discarded>
25
- <discarded/>
26
- </discarded>
27
- This text node must be discarded
28
- <preserved></preserved>
29
- This text node must be discarded
30
- <preserved/>
31
- This text node must be discarded
32
- <discarded>
33
- <discarded/>
34
- </discarded>
35
- This text node must be discarded
36
- </parent>
37
- </doc>
38
-
39
-
@@ -1,1198 +0,0 @@
1
- /**
2
- * section: xmlWriter
3
- * synopsis: use various APIs for the xmlWriter
4
- * purpose: tests a number of APIs for the xmlWriter, especially
5
- * the various methods to write to a filename, to a memory
6
- * buffer, to a new document, or to a subtree. It shows how to
7
- * do encoding string conversions too. The resulting
8
- * documents are then serialized.
9
- * usage: testWriter
10
- * test: testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res
11
- * author: Alfred Mickautsch
12
- * copy: see Copyright for the status of this software.
13
- */
14
- #include <stdio.h>
15
- #include <string.h>
16
- #include <libxml/encoding.h>
17
- #include <libxml/xmlwriter.h>
18
-
19
- #if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
20
-
21
- #define MY_ENCODING "ISO-8859-1"
22
-
23
- void testXmlwriterFilename(const char *uri);
24
- void testXmlwriterMemory(const char *file);
25
- void testXmlwriterDoc(const char *file);
26
- void testXmlwriterTree(const char *file);
27
- xmlChar *ConvertInput(const char *in, const char *encoding);
28
-
29
- int
30
- main(void)
31
- {
32
- /*
33
- * this initialize the library and check potential ABI mismatches
34
- * between the version it was compiled for and the actual shared
35
- * library used.
36
- */
37
- LIBXML_TEST_VERSION
38
-
39
- /* first, the file version */
40
- testXmlwriterFilename("writer1.res");
41
-
42
- /* next, the memory version */
43
- testXmlwriterMemory("writer2.res");
44
-
45
- /* next, the DOM version */
46
- testXmlwriterDoc("writer3.res");
47
-
48
- /* next, the tree version */
49
- testXmlwriterTree("writer4.res");
50
-
51
- /*
52
- * Cleanup function for the XML library.
53
- */
54
- xmlCleanupParser();
55
- /*
56
- * this is to debug memory for regression tests
57
- */
58
- xmlMemoryDump();
59
- return 0;
60
- }
61
-
62
- /**
63
- * testXmlwriterFilename:
64
- * @uri: the output URI
65
- *
66
- * test the xmlWriter interface when writing to a new file
67
- */
68
- void
69
- testXmlwriterFilename(const char *uri)
70
- {
71
- int rc;
72
- xmlTextWriterPtr writer;
73
- xmlChar *tmp;
74
-
75
- /* Create a new XmlWriter for uri, with no compression. */
76
- writer = xmlNewTextWriterFilename(uri, 0);
77
- if (writer == NULL) {
78
- printf("testXmlwriterFilename: Error creating the xml writer\n");
79
- return;
80
- }
81
-
82
- /* Start the document with the xml default for the version,
83
- * encoding ISO 8859-1 and the default for the standalone
84
- * declaration. */
85
- rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
86
- if (rc < 0) {
87
- printf
88
- ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n");
89
- return;
90
- }
91
-
92
- /* Start an element named "EXAMPLE". Since thist is the first
93
- * element, this will be the root element of the document. */
94
- rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
95
- if (rc < 0) {
96
- printf
97
- ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
98
- return;
99
- }
100
-
101
- /* Write a comment as child of EXAMPLE.
102
- * Please observe, that the input to the xmlTextWriter functions
103
- * HAS to be in UTF-8, even if the output XML is encoded
104
- * in iso-8859-1 */
105
- tmp = ConvertInput("This is a comment with special chars: <���>",
106
- MY_ENCODING);
107
- rc = xmlTextWriterWriteComment(writer, tmp);
108
- if (rc < 0) {
109
- printf
110
- ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n");
111
- return;
112
- }
113
- if (tmp != NULL) xmlFree(tmp);
114
-
115
- /* Start an element named "ORDER" as child of EXAMPLE. */
116
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
117
- if (rc < 0) {
118
- printf
119
- ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
120
- return;
121
- }
122
-
123
- /* Add an attribute with name "version" and value "1.0" to ORDER. */
124
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
125
- BAD_CAST "1.0");
126
- if (rc < 0) {
127
- printf
128
- ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
129
- return;
130
- }
131
-
132
- /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
133
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
134
- BAD_CAST "de");
135
- if (rc < 0) {
136
- printf
137
- ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
138
- return;
139
- }
140
-
141
- /* Write a comment as child of ORDER */
142
- tmp = ConvertInput("<���>", MY_ENCODING);
143
- rc = xmlTextWriterWriteFormatComment(writer,
144
- "This is another comment with special chars: %s",
145
- tmp);
146
- if (rc < 0) {
147
- printf
148
- ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n");
149
- return;
150
- }
151
- if (tmp != NULL) xmlFree(tmp);
152
-
153
- /* Start an element named "HEADER" as child of ORDER. */
154
- rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
155
- if (rc < 0) {
156
- printf
157
- ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
158
- return;
159
- }
160
-
161
- /* Write an element named "X_ORDER_ID" as child of HEADER. */
162
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
163
- "%010d", 53535L);
164
- if (rc < 0) {
165
- printf
166
- ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
167
- return;
168
- }
169
-
170
- /* Write an element named "CUSTOMER_ID" as child of HEADER. */
171
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
172
- "%d", 1010);
173
- if (rc < 0) {
174
- printf
175
- ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
176
- return;
177
- }
178
-
179
- /* Write an element named "NAME_1" as child of HEADER. */
180
- tmp = ConvertInput("M�ller", MY_ENCODING);
181
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
182
- if (rc < 0) {
183
- printf
184
- ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
185
- return;
186
- }
187
- if (tmp != NULL) xmlFree(tmp);
188
-
189
- /* Write an element named "NAME_2" as child of HEADER. */
190
- tmp = ConvertInput("J�rg", MY_ENCODING);
191
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
192
- if (rc < 0) {
193
- printf
194
- ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
195
- return;
196
- }
197
- if (tmp != NULL) xmlFree(tmp);
198
-
199
- /* Close the element named HEADER. */
200
- rc = xmlTextWriterEndElement(writer);
201
- if (rc < 0) {
202
- printf
203
- ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
204
- return;
205
- }
206
-
207
- /* Start an element named "ENTRIES" as child of ORDER. */
208
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
209
- if (rc < 0) {
210
- printf
211
- ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
212
- return;
213
- }
214
-
215
- /* Start an element named "ENTRY" as child of ENTRIES. */
216
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
217
- if (rc < 0) {
218
- printf
219
- ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
220
- return;
221
- }
222
-
223
- /* Write an element named "ARTICLE" as child of ENTRY. */
224
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
225
- BAD_CAST "<Test>");
226
- if (rc < 0) {
227
- printf
228
- ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
229
- return;
230
- }
231
-
232
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
233
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
234
- 10);
235
- if (rc < 0) {
236
- printf
237
- ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
238
- return;
239
- }
240
-
241
- /* Close the element named ENTRY. */
242
- rc = xmlTextWriterEndElement(writer);
243
- if (rc < 0) {
244
- printf
245
- ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
246
- return;
247
- }
248
-
249
- /* Start an element named "ENTRY" as child of ENTRIES. */
250
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
251
- if (rc < 0) {
252
- printf
253
- ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
254
- return;
255
- }
256
-
257
- /* Write an element named "ARTICLE" as child of ENTRY. */
258
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
259
- BAD_CAST "<Test 2>");
260
- if (rc < 0) {
261
- printf
262
- ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
263
- return;
264
- }
265
-
266
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
267
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
268
- 20);
269
- if (rc < 0) {
270
- printf
271
- ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
272
- return;
273
- }
274
-
275
- /* Close the element named ENTRY. */
276
- rc = xmlTextWriterEndElement(writer);
277
- if (rc < 0) {
278
- printf
279
- ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
280
- return;
281
- }
282
-
283
- /* Close the element named ENTRIES. */
284
- rc = xmlTextWriterEndElement(writer);
285
- if (rc < 0) {
286
- printf
287
- ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
288
- return;
289
- }
290
-
291
- /* Start an element named "FOOTER" as child of ORDER. */
292
- rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
293
- if (rc < 0) {
294
- printf
295
- ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
296
- return;
297
- }
298
-
299
- /* Write an element named "TEXT" as child of FOOTER. */
300
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
301
- BAD_CAST "This is a text.");
302
- if (rc < 0) {
303
- printf
304
- ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
305
- return;
306
- }
307
-
308
- /* Close the element named FOOTER. */
309
- rc = xmlTextWriterEndElement(writer);
310
- if (rc < 0) {
311
- printf
312
- ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
313
- return;
314
- }
315
-
316
- /* Here we could close the elements ORDER and EXAMPLE using the
317
- * function xmlTextWriterEndElement, but since we do not want to
318
- * write any other elements, we simply call xmlTextWriterEndDocument,
319
- * which will do all the work. */
320
- rc = xmlTextWriterEndDocument(writer);
321
- if (rc < 0) {
322
- printf
323
- ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n");
324
- return;
325
- }
326
-
327
- xmlFreeTextWriter(writer);
328
- }
329
-
330
- /**
331
- * testXmlwriterMemory:
332
- * @file: the output file
333
- *
334
- * test the xmlWriter interface when writing to memory
335
- */
336
- void
337
- testXmlwriterMemory(const char *file)
338
- {
339
- int rc;
340
- xmlTextWriterPtr writer;
341
- xmlBufferPtr buf;
342
- xmlChar *tmp;
343
- FILE *fp;
344
-
345
- /* Create a new XML buffer, to which the XML document will be
346
- * written */
347
- buf = xmlBufferCreate();
348
- if (buf == NULL) {
349
- printf("testXmlwriterMemory: Error creating the xml buffer\n");
350
- return;
351
- }
352
-
353
- /* Create a new XmlWriter for memory, with no compression.
354
- * Remark: there is no compression for this kind of xmlTextWriter */
355
- writer = xmlNewTextWriterMemory(buf, 0);
356
- if (writer == NULL) {
357
- printf("testXmlwriterMemory: Error creating the xml writer\n");
358
- return;
359
- }
360
-
361
- /* Start the document with the xml default for the version,
362
- * encoding ISO 8859-1 and the default for the standalone
363
- * declaration. */
364
- rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
365
- if (rc < 0) {
366
- printf
367
- ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n");
368
- return;
369
- }
370
-
371
- /* Start an element named "EXAMPLE". Since thist is the first
372
- * element, this will be the root element of the document. */
373
- rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
374
- if (rc < 0) {
375
- printf
376
- ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
377
- return;
378
- }
379
-
380
- /* Write a comment as child of EXAMPLE.
381
- * Please observe, that the input to the xmlTextWriter functions
382
- * HAS to be in UTF-8, even if the output XML is encoded
383
- * in iso-8859-1 */
384
- tmp = ConvertInput("This is a comment with special chars: <���>",
385
- MY_ENCODING);
386
- rc = xmlTextWriterWriteComment(writer, tmp);
387
- if (rc < 0) {
388
- printf
389
- ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n");
390
- return;
391
- }
392
- if (tmp != NULL) xmlFree(tmp);
393
-
394
- /* Start an element named "ORDER" as child of EXAMPLE. */
395
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
396
- if (rc < 0) {
397
- printf
398
- ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
399
- return;
400
- }
401
-
402
- /* Add an attribute with name "version" and value "1.0" to ORDER. */
403
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
404
- BAD_CAST "1.0");
405
- if (rc < 0) {
406
- printf
407
- ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
408
- return;
409
- }
410
-
411
- /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
412
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
413
- BAD_CAST "de");
414
- if (rc < 0) {
415
- printf
416
- ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
417
- return;
418
- }
419
-
420
- /* Write a comment as child of ORDER */
421
- tmp = ConvertInput("<���>", MY_ENCODING);
422
- rc = xmlTextWriterWriteFormatComment(writer,
423
- "This is another comment with special chars: %s",
424
- tmp);
425
- if (rc < 0) {
426
- printf
427
- ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n");
428
- return;
429
- }
430
- if (tmp != NULL) xmlFree(tmp);
431
-
432
- /* Start an element named "HEADER" as child of ORDER. */
433
- rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
434
- if (rc < 0) {
435
- printf
436
- ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
437
- return;
438
- }
439
-
440
- /* Write an element named "X_ORDER_ID" as child of HEADER. */
441
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
442
- "%010d", 53535L);
443
- if (rc < 0) {
444
- printf
445
- ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
446
- return;
447
- }
448
-
449
- /* Write an element named "CUSTOMER_ID" as child of HEADER. */
450
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
451
- "%d", 1010);
452
- if (rc < 0) {
453
- printf
454
- ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
455
- return;
456
- }
457
-
458
- /* Write an element named "NAME_1" as child of HEADER. */
459
- tmp = ConvertInput("M�ller", MY_ENCODING);
460
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
461
- if (rc < 0) {
462
- printf
463
- ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
464
- return;
465
- }
466
- if (tmp != NULL) xmlFree(tmp);
467
-
468
- /* Write an element named "NAME_2" as child of HEADER. */
469
- tmp = ConvertInput("J�rg", MY_ENCODING);
470
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
471
-
472
- if (rc < 0) {
473
- printf
474
- ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
475
- return;
476
- }
477
- if (tmp != NULL) xmlFree(tmp);
478
-
479
- /* Close the element named HEADER. */
480
- rc = xmlTextWriterEndElement(writer);
481
- if (rc < 0) {
482
- printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
483
- return;
484
- }
485
-
486
- /* Start an element named "ENTRIES" as child of ORDER. */
487
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
488
- if (rc < 0) {
489
- printf
490
- ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
491
- return;
492
- }
493
-
494
- /* Start an element named "ENTRY" as child of ENTRIES. */
495
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
496
- if (rc < 0) {
497
- printf
498
- ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
499
- return;
500
- }
501
-
502
- /* Write an element named "ARTICLE" as child of ENTRY. */
503
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
504
- BAD_CAST "<Test>");
505
- if (rc < 0) {
506
- printf
507
- ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
508
- return;
509
- }
510
-
511
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
512
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
513
- 10);
514
- if (rc < 0) {
515
- printf
516
- ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
517
- return;
518
- }
519
-
520
- /* Close the element named ENTRY. */
521
- rc = xmlTextWriterEndElement(writer);
522
- if (rc < 0) {
523
- printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
524
- return;
525
- }
526
-
527
- /* Start an element named "ENTRY" as child of ENTRIES. */
528
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
529
- if (rc < 0) {
530
- printf
531
- ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
532
- return;
533
- }
534
-
535
- /* Write an element named "ARTICLE" as child of ENTRY. */
536
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
537
- BAD_CAST "<Test 2>");
538
- if (rc < 0) {
539
- printf
540
- ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
541
- return;
542
- }
543
-
544
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
545
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
546
- 20);
547
- if (rc < 0) {
548
- printf
549
- ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
550
- return;
551
- }
552
-
553
- /* Close the element named ENTRY. */
554
- rc = xmlTextWriterEndElement(writer);
555
- if (rc < 0) {
556
- printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
557
- return;
558
- }
559
-
560
- /* Close the element named ENTRIES. */
561
- rc = xmlTextWriterEndElement(writer);
562
- if (rc < 0) {
563
- printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
564
- return;
565
- }
566
-
567
- /* Start an element named "FOOTER" as child of ORDER. */
568
- rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
569
- if (rc < 0) {
570
- printf
571
- ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
572
- return;
573
- }
574
-
575
- /* Write an element named "TEXT" as child of FOOTER. */
576
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
577
- BAD_CAST "This is a text.");
578
- if (rc < 0) {
579
- printf
580
- ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
581
- return;
582
- }
583
-
584
- /* Close the element named FOOTER. */
585
- rc = xmlTextWriterEndElement(writer);
586
- if (rc < 0) {
587
- printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
588
- return;
589
- }
590
-
591
- /* Here we could close the elements ORDER and EXAMPLE using the
592
- * function xmlTextWriterEndElement, but since we do not want to
593
- * write any other elements, we simply call xmlTextWriterEndDocument,
594
- * which will do all the work. */
595
- rc = xmlTextWriterEndDocument(writer);
596
- if (rc < 0) {
597
- printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n");
598
- return;
599
- }
600
-
601
- xmlFreeTextWriter(writer);
602
-
603
- fp = fopen(file, "w");
604
- if (fp == NULL) {
605
- printf("testXmlwriterMemory: Error at fopen\n");
606
- return;
607
- }
608
-
609
- fprintf(fp, "%s", (const char *) buf->content);
610
-
611
- fclose(fp);
612
-
613
- xmlBufferFree(buf);
614
- }
615
-
616
- /**
617
- * testXmlwriterDoc:
618
- * @file: the output file
619
- *
620
- * test the xmlWriter interface when creating a new document
621
- */
622
- void
623
- testXmlwriterDoc(const char *file)
624
- {
625
- int rc;
626
- xmlTextWriterPtr writer;
627
- xmlChar *tmp;
628
- xmlDocPtr doc;
629
-
630
-
631
- /* Create a new XmlWriter for DOM, with no compression. */
632
- writer = xmlNewTextWriterDoc(&doc, 0);
633
- if (writer == NULL) {
634
- printf("testXmlwriterDoc: Error creating the xml writer\n");
635
- return;
636
- }
637
-
638
- /* Start the document with the xml default for the version,
639
- * encoding ISO 8859-1 and the default for the standalone
640
- * declaration. */
641
- rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
642
- if (rc < 0) {
643
- printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n");
644
- return;
645
- }
646
-
647
- /* Start an element named "EXAMPLE". Since thist is the first
648
- * element, this will be the root element of the document. */
649
- rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
650
- if (rc < 0) {
651
- printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
652
- return;
653
- }
654
-
655
- /* Write a comment as child of EXAMPLE.
656
- * Please observe, that the input to the xmlTextWriter functions
657
- * HAS to be in UTF-8, even if the output XML is encoded
658
- * in iso-8859-1 */
659
- tmp = ConvertInput("This is a comment with special chars: <���>",
660
- MY_ENCODING);
661
- rc = xmlTextWriterWriteComment(writer, tmp);
662
- if (rc < 0) {
663
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n");
664
- return;
665
- }
666
- if (tmp != NULL) xmlFree(tmp);
667
-
668
- /* Start an element named "ORDER" as child of EXAMPLE. */
669
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
670
- if (rc < 0) {
671
- printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
672
- return;
673
- }
674
-
675
- /* Add an attribute with name "version" and value "1.0" to ORDER. */
676
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
677
- BAD_CAST "1.0");
678
- if (rc < 0) {
679
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
680
- return;
681
- }
682
-
683
- /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
684
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
685
- BAD_CAST "de");
686
- if (rc < 0) {
687
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
688
- return;
689
- }
690
-
691
- /* Write a comment as child of ORDER */
692
- tmp = ConvertInput("<���>", MY_ENCODING);
693
- rc = xmlTextWriterWriteFormatComment(writer,
694
- "This is another comment with special chars: %s",
695
- tmp);
696
- if (rc < 0) {
697
- printf
698
- ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n");
699
- return;
700
- }
701
- if (tmp != NULL) xmlFree(tmp);
702
-
703
- /* Start an element named "HEADER" as child of ORDER. */
704
- rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
705
- if (rc < 0) {
706
- printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
707
- return;
708
- }
709
-
710
- /* Write an element named "X_ORDER_ID" as child of HEADER. */
711
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
712
- "%010d", 53535L);
713
- if (rc < 0) {
714
- printf
715
- ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
716
- return;
717
- }
718
-
719
- /* Write an element named "CUSTOMER_ID" as child of HEADER. */
720
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
721
- "%d", 1010);
722
- if (rc < 0) {
723
- printf
724
- ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
725
- return;
726
- }
727
-
728
- /* Write an element named "NAME_1" as child of HEADER. */
729
- tmp = ConvertInput("M�ller", MY_ENCODING);
730
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
731
- if (rc < 0) {
732
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
733
- return;
734
- }
735
- if (tmp != NULL) xmlFree(tmp);
736
-
737
- /* Write an element named "NAME_2" as child of HEADER. */
738
- tmp = ConvertInput("J�rg", MY_ENCODING);
739
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
740
- if (rc < 0) {
741
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
742
- return;
743
- }
744
- if (tmp != NULL) xmlFree(tmp);
745
-
746
- /* Close the element named HEADER. */
747
- rc = xmlTextWriterEndElement(writer);
748
- if (rc < 0) {
749
- printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
750
- return;
751
- }
752
-
753
- /* Start an element named "ENTRIES" as child of ORDER. */
754
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
755
- if (rc < 0) {
756
- printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
757
- return;
758
- }
759
-
760
- /* Start an element named "ENTRY" as child of ENTRIES. */
761
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
762
- if (rc < 0) {
763
- printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
764
- return;
765
- }
766
-
767
- /* Write an element named "ARTICLE" as child of ENTRY. */
768
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
769
- BAD_CAST "<Test>");
770
- if (rc < 0) {
771
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
772
- return;
773
- }
774
-
775
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
776
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
777
- 10);
778
- if (rc < 0) {
779
- printf
780
- ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
781
- return;
782
- }
783
-
784
- /* Close the element named ENTRY. */
785
- rc = xmlTextWriterEndElement(writer);
786
- if (rc < 0) {
787
- printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
788
- return;
789
- }
790
-
791
- /* Start an element named "ENTRY" as child of ENTRIES. */
792
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
793
- if (rc < 0) {
794
- printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
795
- return;
796
- }
797
-
798
- /* Write an element named "ARTICLE" as child of ENTRY. */
799
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
800
- BAD_CAST "<Test 2>");
801
- if (rc < 0) {
802
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
803
- return;
804
- }
805
-
806
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
807
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
808
- 20);
809
- if (rc < 0) {
810
- printf
811
- ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
812
- return;
813
- }
814
-
815
- /* Close the element named ENTRY. */
816
- rc = xmlTextWriterEndElement(writer);
817
- if (rc < 0) {
818
- printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
819
- return;
820
- }
821
-
822
- /* Close the element named ENTRIES. */
823
- rc = xmlTextWriterEndElement(writer);
824
- if (rc < 0) {
825
- printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
826
- return;
827
- }
828
-
829
- /* Start an element named "FOOTER" as child of ORDER. */
830
- rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
831
- if (rc < 0) {
832
- printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
833
- return;
834
- }
835
-
836
- /* Write an element named "TEXT" as child of FOOTER. */
837
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
838
- BAD_CAST "This is a text.");
839
- if (rc < 0) {
840
- printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
841
- return;
842
- }
843
-
844
- /* Close the element named FOOTER. */
845
- rc = xmlTextWriterEndElement(writer);
846
- if (rc < 0) {
847
- printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
848
- return;
849
- }
850
-
851
- /* Here we could close the elements ORDER and EXAMPLE using the
852
- * function xmlTextWriterEndElement, but since we do not want to
853
- * write any other elements, we simply call xmlTextWriterEndDocument,
854
- * which will do all the work. */
855
- rc = xmlTextWriterEndDocument(writer);
856
- if (rc < 0) {
857
- printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n");
858
- return;
859
- }
860
-
861
- xmlFreeTextWriter(writer);
862
-
863
- xmlSaveFileEnc(file, doc, MY_ENCODING);
864
-
865
- xmlFreeDoc(doc);
866
- }
867
-
868
- /**
869
- * testXmlwriterTree:
870
- * @file: the output file
871
- *
872
- * test the xmlWriter interface when writing to a subtree
873
- */
874
- void
875
- testXmlwriterTree(const char *file)
876
- {
877
- int rc;
878
- xmlTextWriterPtr writer;
879
- xmlDocPtr doc;
880
- xmlNodePtr node;
881
- xmlChar *tmp;
882
-
883
- /* Create a new XML DOM tree, to which the XML document will be
884
- * written */
885
- doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION);
886
- if (doc == NULL) {
887
- printf
888
- ("testXmlwriterTree: Error creating the xml document tree\n");
889
- return;
890
- }
891
-
892
- /* Create a new XML node, to which the XML document will be
893
- * appended */
894
- node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL);
895
- if (node == NULL) {
896
- printf("testXmlwriterTree: Error creating the xml node\n");
897
- return;
898
- }
899
-
900
- /* Make ELEMENT the root node of the tree */
901
- xmlDocSetRootElement(doc, node);
902
-
903
- /* Create a new XmlWriter for DOM tree, with no compression. */
904
- writer = xmlNewTextWriterTree(doc, node, 0);
905
- if (writer == NULL) {
906
- printf("testXmlwriterTree: Error creating the xml writer\n");
907
- return;
908
- }
909
-
910
- /* Start the document with the xml default for the version,
911
- * encoding ISO 8859-1 and the default for the standalone
912
- * declaration. */
913
- rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
914
- if (rc < 0) {
915
- printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n");
916
- return;
917
- }
918
-
919
- /* Write a comment as child of EXAMPLE.
920
- * Please observe, that the input to the xmlTextWriter functions
921
- * HAS to be in UTF-8, even if the output XML is encoded
922
- * in iso-8859-1 */
923
- tmp = ConvertInput("This is a comment with special chars: <���>",
924
- MY_ENCODING);
925
- rc = xmlTextWriterWriteComment(writer, tmp);
926
- if (rc < 0) {
927
- printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n");
928
- return;
929
- }
930
- if (tmp != NULL) xmlFree(tmp);
931
-
932
- /* Start an element named "ORDER" as child of EXAMPLE. */
933
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
934
- if (rc < 0) {
935
- printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
936
- return;
937
- }
938
-
939
- /* Add an attribute with name "version" and value "1.0" to ORDER. */
940
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
941
- BAD_CAST "1.0");
942
- if (rc < 0) {
943
- printf
944
- ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
945
- return;
946
- }
947
-
948
- /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
949
- rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
950
- BAD_CAST "de");
951
- if (rc < 0) {
952
- printf
953
- ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
954
- return;
955
- }
956
-
957
- /* Write a comment as child of ORDER */
958
- tmp = ConvertInput("<���>", MY_ENCODING);
959
- rc = xmlTextWriterWriteFormatComment(writer,
960
- "This is another comment with special chars: %s",
961
- tmp);
962
- if (rc < 0) {
963
- printf
964
- ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n");
965
- return;
966
- }
967
- if (tmp != NULL) xmlFree(tmp);
968
-
969
- /* Start an element named "HEADER" as child of ORDER. */
970
- rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
971
- if (rc < 0) {
972
- printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
973
- return;
974
- }
975
-
976
- /* Write an element named "X_ORDER_ID" as child of HEADER. */
977
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
978
- "%010d", 53535L);
979
- if (rc < 0) {
980
- printf
981
- ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
982
- return;
983
- }
984
-
985
- /* Write an element named "CUSTOMER_ID" as child of HEADER. */
986
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
987
- "%d", 1010);
988
- if (rc < 0) {
989
- printf
990
- ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
991
- return;
992
- }
993
-
994
- /* Write an element named "NAME_1" as child of HEADER. */
995
- tmp = ConvertInput("M�ller", MY_ENCODING);
996
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
997
- if (rc < 0) {
998
- printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
999
- return;
1000
- }
1001
- if (tmp != NULL) xmlFree(tmp);
1002
-
1003
- /* Write an element named "NAME_2" as child of HEADER. */
1004
- tmp = ConvertInput("J�rg", MY_ENCODING);
1005
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
1006
- if (rc < 0) {
1007
- printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1008
- return;
1009
- }
1010
- if (tmp != NULL) xmlFree(tmp);
1011
-
1012
- /* Close the element named HEADER. */
1013
- rc = xmlTextWriterEndElement(writer);
1014
- if (rc < 0) {
1015
- printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1016
- return;
1017
- }
1018
-
1019
- /* Start an element named "ENTRIES" as child of ORDER. */
1020
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
1021
- if (rc < 0) {
1022
- printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1023
- return;
1024
- }
1025
-
1026
- /* Start an element named "ENTRY" as child of ENTRIES. */
1027
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
1028
- if (rc < 0) {
1029
- printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1030
- return;
1031
- }
1032
-
1033
- /* Write an element named "ARTICLE" as child of ENTRY. */
1034
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
1035
- BAD_CAST "<Test>");
1036
- if (rc < 0) {
1037
- printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1038
- return;
1039
- }
1040
-
1041
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
1042
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
1043
- 10);
1044
- if (rc < 0) {
1045
- printf
1046
- ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
1047
- return;
1048
- }
1049
-
1050
- /* Close the element named ENTRY. */
1051
- rc = xmlTextWriterEndElement(writer);
1052
- if (rc < 0) {
1053
- printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1054
- return;
1055
- }
1056
-
1057
- /* Start an element named "ENTRY" as child of ENTRIES. */
1058
- rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
1059
- if (rc < 0) {
1060
- printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1061
- return;
1062
- }
1063
-
1064
- /* Write an element named "ARTICLE" as child of ENTRY. */
1065
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
1066
- BAD_CAST "<Test 2>");
1067
- if (rc < 0) {
1068
- printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1069
- return;
1070
- }
1071
-
1072
- /* Write an element named "ENTRY_NO" as child of ENTRY. */
1073
- rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
1074
- 20);
1075
- if (rc < 0) {
1076
- printf
1077
- ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
1078
- return;
1079
- }
1080
-
1081
- /* Close the element named ENTRY. */
1082
- rc = xmlTextWriterEndElement(writer);
1083
- if (rc < 0) {
1084
- printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1085
- return;
1086
- }
1087
-
1088
- /* Close the element named ENTRIES. */
1089
- rc = xmlTextWriterEndElement(writer);
1090
- if (rc < 0) {
1091
- printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1092
- return;
1093
- }
1094
-
1095
- /* Start an element named "FOOTER" as child of ORDER. */
1096
- rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
1097
- if (rc < 0) {
1098
- printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1099
- return;
1100
- }
1101
-
1102
- /* Write an element named "TEXT" as child of FOOTER. */
1103
- rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
1104
- BAD_CAST "This is a text.");
1105
- if (rc < 0) {
1106
- printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1107
- return;
1108
- }
1109
-
1110
- /* Close the element named FOOTER. */
1111
- rc = xmlTextWriterEndElement(writer);
1112
- if (rc < 0) {
1113
- printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1114
- return;
1115
- }
1116
-
1117
- /* Here we could close the elements ORDER and EXAMPLE using the
1118
- * function xmlTextWriterEndElement, but since we do not want to
1119
- * write any other elements, we simply call xmlTextWriterEndDocument,
1120
- * which will do all the work. */
1121
- rc = xmlTextWriterEndDocument(writer);
1122
- if (rc < 0) {
1123
- printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n");
1124
- return;
1125
- }
1126
-
1127
- xmlFreeTextWriter(writer);
1128
-
1129
- xmlSaveFileEnc(file, doc, MY_ENCODING);
1130
-
1131
- xmlFreeDoc(doc);
1132
- }
1133
-
1134
- /**
1135
- * ConvertInput:
1136
- * @in: string in a given encoding
1137
- * @encoding: the encoding used
1138
- *
1139
- * Converts @in into UTF-8 for processing with libxml2 APIs
1140
- *
1141
- * Returns the converted UTF-8 string, or NULL in case of error.
1142
- */
1143
- xmlChar *
1144
- ConvertInput(const char *in, const char *encoding)
1145
- {
1146
- xmlChar *out;
1147
- int ret;
1148
- int size;
1149
- int out_size;
1150
- int temp;
1151
- xmlCharEncodingHandlerPtr handler;
1152
-
1153
- if (in == 0)
1154
- return 0;
1155
-
1156
- handler = xmlFindCharEncodingHandler(encoding);
1157
-
1158
- if (!handler) {
1159
- printf("ConvertInput: no encoding handler found for '%s'\n",
1160
- encoding ? encoding : "");
1161
- return 0;
1162
- }
1163
-
1164
- size = (int) strlen(in) + 1;
1165
- out_size = size * 2 - 1;
1166
- out = (unsigned char *) xmlMalloc((size_t) out_size);
1167
-
1168
- if (out != 0) {
1169
- temp = size - 1;
1170
- ret = handler->input(out, &out_size, (const xmlChar *) in, &temp);
1171
- if ((ret < 0) || (temp - size + 1)) {
1172
- if (ret < 0) {
1173
- printf("ConvertInput: conversion wasn't successful.\n");
1174
- } else {
1175
- printf
1176
- ("ConvertInput: conversion wasn't successful. converted: %i octets.\n",
1177
- temp);
1178
- }
1179
-
1180
- xmlFree(out);
1181
- out = 0;
1182
- } else {
1183
- out = (unsigned char *) xmlRealloc(out, out_size + 1);
1184
- out[out_size] = 0; /*null terminating out */
1185
- }
1186
- } else {
1187
- printf("ConvertInput: no mem\n");
1188
- }
1189
-
1190
- return out;
1191
- }
1192
-
1193
- #else
1194
- int main(void) {
1195
- fprintf(stderr, "Writer or output support not compiled in\n");
1196
- exit(1);
1197
- }
1198
- #endif