| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | #include <stdio.h> |
| | #include <string.h> |
| | #include <libxml/encoding.h> |
| | #include <libxml/xmlwriter.h> |
| | #include <libxml/parser.h> |
| |
|
| | #ifndef _WIN32 |
| | #include <unistd.h> |
| | #endif |
| |
|
| | #if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) |
| |
|
| | #define MY_ENCODING "ISO-8859-1" |
| |
|
| | void testXmlwriterFilename(const char *uri); |
| | void testXmlwriterMemory(void); |
| | void testXmlwriterDoc(void); |
| | void testXmlwriterTree(void); |
| |
|
| | int |
| | main(void) |
| | { |
| | |
| | |
| | |
| | |
| | |
| | LIBXML_TEST_VERSION |
| |
|
| | |
| | testXmlwriterFilename("writer1.tmp"); |
| | unlink("writer1.tmp"); |
| |
|
| | |
| | testXmlwriterMemory(); |
| |
|
| | |
| | testXmlwriterDoc(); |
| |
|
| | |
| | testXmlwriterTree(); |
| |
|
| | return 0; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | void |
| | testXmlwriterFilename(const char *uri) |
| | { |
| | int rc; |
| | xmlTextWriterPtr writer; |
| |
|
| | |
| | writer = xmlNewTextWriterFilename(uri, 0); |
| | if (writer == NULL) { |
| | printf("testXmlwriterFilename: Error creating the xml writer\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is a comment"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", |
| | BAD_CAST "1.0"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", |
| | BAD_CAST "de"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is another comment"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", |
| | "%010d", 53535); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", |
| | "%d", 1010); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", |
| | BAD_CAST "Mueller"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", |
| | BAD_CAST "Joerg"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test>"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 10); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test 2>"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 20); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", |
| | BAD_CAST "This is a text."); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | rc = xmlTextWriterEndDocument(writer); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n"); |
| | return; |
| | } |
| |
|
| | xmlFreeTextWriter(writer); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | void |
| | testXmlwriterMemory(void) |
| | { |
| | int rc; |
| | xmlTextWriterPtr writer; |
| | xmlBufferPtr buf; |
| |
|
| | |
| | |
| | buf = xmlBufferCreate(); |
| | if (buf == NULL) { |
| | printf("testXmlwriterMemory: Error creating the xml buffer\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | writer = xmlNewTextWriterMemory(buf, 0); |
| | if (writer == NULL) { |
| | printf("testXmlwriterMemory: Error creating the xml writer\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is a comment"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", |
| | BAD_CAST "1.0"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", |
| | BAD_CAST "de"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is another comment"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", |
| | "%010d", 53535); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", |
| | "%d", 1010); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", |
| | BAD_CAST "Mueller"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", |
| | BAD_CAST "Joerg"); |
| |
|
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test>"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 10); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test 2>"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 20); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", |
| | BAD_CAST "This is a text."); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | rc = xmlTextWriterEndDocument(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n"); |
| | return; |
| | } |
| |
|
| | xmlFreeTextWriter(writer); |
| |
|
| | xmlBufferFree(buf); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | void |
| | testXmlwriterDoc(void) |
| | { |
| | int rc; |
| | xmlTextWriterPtr writer; |
| | xmlDocPtr doc; |
| |
|
| |
|
| | |
| | writer = xmlNewTextWriterDoc(&doc, 0); |
| | if (writer == NULL) { |
| | printf("testXmlwriterDoc: Error creating the xml writer\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is a comment"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", |
| | BAD_CAST "1.0"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", |
| | BAD_CAST "de"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is another comment"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", |
| | "%010d", 53535); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", |
| | "%d", 1010); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", |
| | BAD_CAST "Mueller"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", |
| | BAD_CAST "Joerg"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test>"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 10); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test 2>"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 20); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", |
| | BAD_CAST "This is a text."); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | rc = xmlTextWriterEndDocument(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n"); |
| | return; |
| | } |
| |
|
| | xmlFreeTextWriter(writer); |
| |
|
| | xmlFreeDoc(doc); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | void |
| | testXmlwriterTree(void) |
| | { |
| | int rc; |
| | xmlTextWriterPtr writer; |
| | xmlDocPtr doc; |
| | xmlNodePtr node; |
| |
|
| | |
| | |
| | doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION); |
| | if (doc == NULL) { |
| | printf |
| | ("testXmlwriterTree: Error creating the xml document tree\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL); |
| | if (node == NULL) { |
| | printf("testXmlwriterTree: Error creating the xml node\n"); |
| | return; |
| | } |
| |
|
| | |
| | xmlDocSetRootElement(doc, node); |
| |
|
| | |
| | writer = xmlNewTextWriterTree(doc, node, 0); |
| | if (writer == NULL) { |
| | printf("testXmlwriterTree: Error creating the xml writer\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is a comment"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", |
| | BAD_CAST "1.0"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", |
| | BAD_CAST "de"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteComment(writer, BAD_CAST "This is another comment"); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", |
| | "%010d", 53535); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", |
| | "%d", 1010); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", |
| | BAD_CAST "Mueller"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", |
| | BAD_CAST "Joerg"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test>"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 10); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", |
| | BAD_CAST "<Test 2>"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", |
| | 20); |
| | if (rc < 0) { |
| | printf |
| | ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", |
| | BAD_CAST "This is a text."); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | rc = xmlTextWriterEndElement(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); |
| | return; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | rc = xmlTextWriterEndDocument(writer); |
| | if (rc < 0) { |
| | printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n"); |
| | return; |
| | } |
| |
|
| | xmlFreeTextWriter(writer); |
| |
|
| | xmlFreeDoc(doc); |
| | } |
| |
|
| | #else |
| | int main(void) { |
| | fprintf(stderr, "Writer or output support not compiled in\n"); |
| | return 0; |
| | } |
| | #endif |
| |
|