rsvg2 1.2.1-x86-mingw32 → 1.2.2-x86-mingw32

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 (159) hide show
  1. data/lib/1.9/rsvg2.so +0 -0
  2. data/lib/2.0/rsvg2.so +0 -0
  3. metadata +332 -508
  4. data/lib/1.8/rsvg2.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