axiom_xml_writer.h

Go to the documentation of this file.
00001 
00002 /*
00003  *   Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  *   Licensed under the Apache License, Version 2.0 (the "License");
00006  *   you may not use this file except in compliance with the License.
00007  *   You may obtain a copy of the License at
00008  *
00009  *       http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  *   Unless required by applicable law or agreed to in writing, software
00012  *   distributed under the License is distributed on an "AS IS" BASIS,
00013  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *   See the License for the specific language governing permissions and
00015  *   limitations under the License.
00016  *
00017  */
00018 
00019 #ifndef AXIOM_XML_WRITER_H
00020 #define AXIOM_XML_WRITER_H
00021 
00027 #include <axutil_env.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct axiom_xml_writer_ops axiom_xml_writer_ops_t;
00035     typedef struct axiom_xml_writer axiom_xml_writer_t;
00036 
00048     struct axiom_xml_writer_ops
00049     {
00050 
00059         void(
00060             AXIS2_CALL
00061             * free)(
00062                 axiom_xml_writer_t * writer,
00063                 const axutil_env_t * env);
00064 
00074         axis2_status_t(
00075             AXIS2_CALL
00076             * write_start_element)(
00077                 axiom_xml_writer_t * writer,
00078                 const axutil_env_t * env,
00079                 axis2_char_t * localname);
00080 
00090         axis2_status_t(
00091             AXIS2_CALL
00092             * end_start_element)(
00093                 axiom_xml_writer_t * writer,
00094                 const axutil_env_t * env);
00095 
00106         axis2_status_t(
00107             AXIS2_CALL
00108             * write_start_element_with_namespace)(
00109                 axiom_xml_writer_t * writer,
00110                 const axutil_env_t * env,
00111                 axis2_char_t * localname,
00112                 axis2_char_t * namespace_uri);
00113 
00124         axis2_status_t(
00125             AXIS2_CALL
00126             * write_start_element_with_namespace_prefix)(
00127                 axiom_xml_writer_t * writer,
00128                 const axutil_env_t * env,
00129                 axis2_char_t * localname,
00130                 axis2_char_t * namespace_uri,
00131                 axis2_char_t * prefix);
00132 
00141         axis2_status_t(
00142             AXIS2_CALL
00143             * write_empty_element)(
00144                 axiom_xml_writer_t * writer,
00145                 const axutil_env_t * env,
00146                 axis2_char_t * localname);
00147 
00158         axis2_status_t(
00159             AXIS2_CALL
00160             * write_empty_element_with_namespace)(
00161                 axiom_xml_writer_t * writer,
00162                 const axutil_env_t * env,
00163                 axis2_char_t * localname,
00164                 axis2_char_t * namespace_uri);
00165 
00176         axis2_status_t(
00177             AXIS2_CALL
00178             * write_empty_element_with_namespace_prefix)(
00179                 axiom_xml_writer_t * writer,
00180                 const axutil_env_t * env,
00181                 axis2_char_t * localname,
00182                 axis2_char_t * namespace_uri,
00183                 axis2_char_t * prefix);
00184 
00192         axis2_status_t(
00193             AXIS2_CALL
00194             * write_end_element)(
00195                 axiom_xml_writer_t * writer,
00196                 const axutil_env_t * env);
00197 
00205         axis2_status_t(
00206             AXIS2_CALL
00207             * write_end_document)(
00208                 axiom_xml_writer_t * writer,
00209                 const axutil_env_t * env);
00210 
00220         axis2_status_t(
00221             AXIS2_CALL
00222             * write_attribute)(
00223                 axiom_xml_writer_t * writer,
00224                 const axutil_env_t * env,
00225                 axis2_char_t * localname,
00226                 axis2_char_t * value);
00227 
00237         axis2_status_t(
00238             AXIS2_CALL
00239             * write_attribute_with_namespace)(
00240                 axiom_xml_writer_t * writer,
00241                 const axutil_env_t * env,
00242                 axis2_char_t * localname,
00243                 axis2_char_t * value,
00244                 axis2_char_t * namespace_uri);
00245 
00254         axis2_status_t(
00255             AXIS2_CALL
00256             * write_attribute_with_namespace_prefix)(
00257                 axiom_xml_writer_t * writer,
00258                 const axutil_env_t * env,
00259                 axis2_char_t * localname,
00260                 axis2_char_t * value,
00261                 axis2_char_t * namespace_uri,
00262                 axis2_char_t * prefix);
00263 
00273         axis2_status_t(
00274             AXIS2_CALL
00275             * write_namespace)(
00276                 axiom_xml_writer_t * writer,
00277                 const axutil_env_t * env,
00278                 axis2_char_t * prefix,
00279                 axis2_char_t * namespace_uri);
00280 
00289         axis2_status_t(
00290             AXIS2_CALL
00291             * write_default_namespace)(
00292                 axiom_xml_writer_t * writer,
00293                 const axutil_env_t * env,
00294                 axis2_char_t * namespace_uri);
00295 
00304         axis2_status_t(
00305             AXIS2_CALL
00306             * write_comment)(
00307                 axiom_xml_writer_t * writer,
00308                 const axutil_env_t * env,
00309                 axis2_char_t * value);
00310 
00319         axis2_status_t(
00320             AXIS2_CALL
00321             * write_processing_instruction)(
00322                 axiom_xml_writer_t * writer,
00323                 const axutil_env_t * env,
00324                 axis2_char_t * target);
00325 
00335         axis2_status_t(
00336             AXIS2_CALL
00337             * write_processing_instruction_data)(
00338                 axiom_xml_writer_t * writer,
00339                 const axutil_env_t * env,
00340                 axis2_char_t * target,
00341                 axis2_char_t * data);
00342 
00350         axis2_status_t(
00351             AXIS2_CALL
00352             * write_cdata)(
00353                 axiom_xml_writer_t * writer,
00354                 const axutil_env_t * env,
00355                 axis2_char_t * data);
00356 
00364         axis2_status_t(
00365             AXIS2_CALL
00366             * write_dtd)(
00367                 axiom_xml_writer_t * writer,
00368                 const axutil_env_t * env,
00369                 axis2_char_t * dtd);
00370 
00378         axis2_status_t(
00379             AXIS2_CALL
00380             * write_entity_ref)(
00381                 axiom_xml_writer_t * writer,
00382                 const axutil_env_t * env,
00383                 axis2_char_t * name);
00384 
00391         axis2_status_t(
00392             AXIS2_CALL
00393             * write_start_document)(
00394                 axiom_xml_writer_t * writer,
00395                 const axutil_env_t * env);
00396 
00404         axis2_status_t(
00405             AXIS2_CALL
00406             * write_start_document_with_version)(
00407                 axiom_xml_writer_t * writer,
00408                 const axutil_env_t * env,
00409                 axis2_char_t * version);
00410 
00419         axis2_status_t(
00420             AXIS2_CALL
00421             * write_start_document_with_version_encoding)(
00422                 axiom_xml_writer_t * writer,
00423                 const axutil_env_t * env,
00424                 axis2_char_t * version,
00425                 axis2_char_t * encoding);
00426 
00434         axis2_status_t(
00435             AXIS2_CALL
00436             * write_characters)(
00437                 axiom_xml_writer_t * writer,
00438                 const axutil_env_t * env,
00439                 axis2_char_t * text);
00440 
00448         axis2_char_t *(
00449             AXIS2_CALL
00450             * get_prefix)(
00451                 axiom_xml_writer_t * writer,
00452                 const axutil_env_t * env,
00453                 axis2_char_t * uri);
00454 
00463         axis2_status_t(
00464             AXIS2_CALL
00465             * set_prefix)(
00466                 axiom_xml_writer_t * writer,
00467                 const axutil_env_t * env,
00468                 axis2_char_t * prefix,
00469                 axis2_char_t * uri);
00470 
00478         axis2_status_t(
00479             AXIS2_CALL
00480             * set_default_prefix)(
00481                 axiom_xml_writer_t * writer,
00482                 const axutil_env_t * env,
00483                 axis2_char_t * uri);
00484 
00493         axis2_status_t(
00494             AXIS2_CALL
00495             * write_encoded)(
00496                 axiom_xml_writer_t * writer,
00497                 const axutil_env_t * env,
00498                 axis2_char_t * text,
00499                 int in_attr);
00500 
00501         void *(
00502             AXIS2_CALL
00503             * get_xml)(
00504                 axiom_xml_writer_t * writer,
00505                 const axutil_env_t * env);
00506 
00507         unsigned int(
00508             AXIS2_CALL
00509             * get_xml_size)(
00510                 axiom_xml_writer_t * writer,
00511                 const axutil_env_t * env);
00512 
00513         int(
00514             AXIS2_CALL
00515             * get_type)(
00516                 axiom_xml_writer_t * writer,
00517                 const axutil_env_t * env);
00518 
00519         axis2_status_t(
00520             AXIS2_CALL
00521             * write_raw)(
00522                 axiom_xml_writer_t * writer,
00523                 const axutil_env_t * env,
00524                 axis2_char_t * content);
00525         axis2_status_t(
00526             AXIS2_CALL
00527             * flush)(
00528                 axiom_xml_writer_t * writer,
00529                 const axutil_env_t * env);
00530 
00531     };
00532 
00538     struct axiom_xml_writer
00539     {
00540         const axiom_xml_writer_ops_t *ops;
00541     };
00542 
00547     AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
00548     axiom_xml_writer_create(
00549         const axutil_env_t * env,
00550         axis2_char_t * filename,
00551         axis2_char_t * encoding,
00552         int is_prefix_default,
00553         int compression);
00554 
00555     AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
00556 
00557     axiom_xml_writer_create_for_memory(
00558         const axutil_env_t * env,
00559         axis2_char_t * encoding,
00560         int is_prefix_default,
00561         int compression,
00562         int type);
00563 
00564     AXIS2_EXTERN void AXIS2_CALL
00565     axiom_xml_writer_free(
00566         axiom_xml_writer_t * writer,
00567         const axutil_env_t * env);
00568 
00569     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00570 
00571     axiom_xml_writer_write_start_element(
00572         axiom_xml_writer_t * writer,
00573         const axutil_env_t * env,
00574         axis2_char_t * localname);
00575 
00576     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00577 
00578     axiom_xml_writer_end_start_element(
00579         axiom_xml_writer_t * writer,
00580         const axutil_env_t * env);
00581 
00582     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00583 
00584     axiom_xml_writer_write_start_element_with_namespace(
00585         axiom_xml_writer_t * writer,
00586         const axutil_env_t * env,
00587         axis2_char_t * localname,
00588         axis2_char_t * namespace_uri);
00589 
00590     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00591 
00592     axiom_xml_writer_write_start_element_with_namespace_prefix(
00593         axiom_xml_writer_t * writer,
00594         const axutil_env_t * env,
00595         axis2_char_t * localname,
00596         axis2_char_t * namespace_uri,
00597         axis2_char_t * prefix);
00598 
00599     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00600 
00601     axiom_xml_writer_write_empty_element(
00602         axiom_xml_writer_t * writer,
00603         const axutil_env_t * env,
00604         axis2_char_t * localname);
00605 
00606     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00607 
00608     axiom_xml_writer_write_empty_element_with_namespace(
00609         axiom_xml_writer_t * writer,
00610         const axutil_env_t * env,
00611         axis2_char_t * localname,
00612         axis2_char_t * namespace_uri);
00613 
00614     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00615 
00616     axiom_xml_writer_write_empty_element_with_namespace_prefix(
00617         axiom_xml_writer_t * writer,
00618         const axutil_env_t * env,
00619         axis2_char_t * localname,
00620         axis2_char_t * namespace_uri,
00621         axis2_char_t * prefix);
00622 
00623     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00624 
00625     axiom_xml_writer_write_end_element(
00626         axiom_xml_writer_t * writer,
00627         const axutil_env_t * env);
00628 
00629     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00630 
00631     axiom_xml_writer_write_end_document(
00632         axiom_xml_writer_t * writer,
00633         const axutil_env_t * env);
00634 
00635     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00636     axiom_xml_writer_write_attribute(
00637         axiom_xml_writer_t * writer,
00638         const axutil_env_t * env,
00639         axis2_char_t * localname,
00640         axis2_char_t * value);
00641 
00642     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00643 
00644     axiom_xml_writer_write_attribute_with_namespace(
00645         axiom_xml_writer_t * writer,
00646         const axutil_env_t * env,
00647         axis2_char_t * localname,
00648         axis2_char_t * value,
00649         axis2_char_t * namespace_uri);
00650 
00651     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00652 
00653     axiom_xml_writer_write_attribute_with_namespace_prefix(
00654         axiom_xml_writer_t * writer,
00655         const axutil_env_t * env,
00656         axis2_char_t * localname,
00657         axis2_char_t * value,
00658         axis2_char_t * namespace_uri,
00659         axis2_char_t * prefix);
00660 
00661     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00662     axiom_xml_writer_write_namespace(
00663         axiom_xml_writer_t * writer,
00664         const axutil_env_t * env,
00665         axis2_char_t * prefix,
00666         axis2_char_t * namespace_uri);
00667 
00668     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00669 
00670     axiom_xml_writer_write_default_namespace(
00671         axiom_xml_writer_t * writer,
00672         const axutil_env_t * env,
00673         axis2_char_t * namespace_uri);
00674 
00675     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00676     axiom_xml_writer_write_comment(
00677         axiom_xml_writer_t * writer,
00678         const axutil_env_t * env,
00679         axis2_char_t * value);
00680 
00681     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00682 
00683     axiom_xml_writer_write_processing_instruction(
00684         axiom_xml_writer_t * writer,
00685         const axutil_env_t * env,
00686         axis2_char_t * target);
00687 
00688     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00689 
00690     axiom_xml_writer_write_processing_instruction_data(
00691         axiom_xml_writer_t * writer,
00692         const axutil_env_t * env,
00693         axis2_char_t * target,
00694         axis2_char_t * data);
00695 
00696     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00697     axiom_xml_writer_write_cdata(
00698         axiom_xml_writer_t * writer,
00699         const axutil_env_t * env,
00700         axis2_char_t * data);
00701 
00702     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00703     axiom_xml_writer_write_dtd(
00704         axiom_xml_writer_t * writer,
00705         const axutil_env_t * env,
00706         axis2_char_t * dtd);
00707 
00708     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00709     axiom_xml_writer_write_entity_ref(
00710         axiom_xml_writer_t * writer,
00711         const axutil_env_t * env,
00712         axis2_char_t * name);
00713 
00714     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00715 
00716     axiom_xml_writer_write_start_document(
00717         axiom_xml_writer_t * writer,
00718         const axutil_env_t * env);
00719 
00720     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00721 
00722     axiom_xml_writer_write_start_document_with_version(
00723         axiom_xml_writer_t * writer,
00724         const axutil_env_t * env,
00725         axis2_char_t * version);
00726 
00727     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00728 
00729     axiom_xml_writer_write_start_document_with_version_encoding(
00730         axiom_xml_writer_t * writer,
00731         const axutil_env_t * env,
00732         axis2_char_t * version,
00733         axis2_char_t * encoding);
00734 
00735     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00736     axiom_xml_writer_write_characters(
00737         axiom_xml_writer_t * writer,
00738         const axutil_env_t * env,
00739         axis2_char_t * text);
00740 
00741     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00742     axiom_xml_writer_get_prefix(
00743         axiom_xml_writer_t * writer,
00744         const axutil_env_t * env,
00745         axis2_char_t * uri);
00746 
00747     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00748     axiom_xml_writer_set_prefix(
00749         axiom_xml_writer_t * writer,
00750         const axutil_env_t * env,
00751         axis2_char_t * prefix,
00752         axis2_char_t * uri);
00753 
00754     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00755 
00756     axiom_xml_writer_set_default_prefix(
00757         axiom_xml_writer_t * writer,
00758         const axutil_env_t * env,
00759         axis2_char_t * uri);
00760 
00761     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00762     axiom_xml_writer_write_encoded(
00763         axiom_xml_writer_t * writer,
00764         const axutil_env_t * env,
00765         axis2_char_t * text,
00766         int in_attr);
00767 
00768     AXIS2_EXTERN void *AXIS2_CALL
00769     axiom_xml_writer_get_xml(
00770         axiom_xml_writer_t * writer,
00771         const axutil_env_t * env);
00772 
00773     AXIS2_EXTERN unsigned int AXIS2_CALL
00774     axiom_xml_writer_get_xml_size(
00775         axiom_xml_writer_t * writer,
00776         const axutil_env_t * env);
00777 
00778     AXIS2_EXTERN int AXIS2_CALL
00779     axiom_xml_writer_get_type(
00780         axiom_xml_writer_t * writer,
00781         const axutil_env_t * env);
00782 
00783     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00784     axiom_xml_writer_write_raw(
00785         axiom_xml_writer_t * writer,
00786         const axutil_env_t * env,
00787         axis2_char_t * content);
00788 
00789     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00790     axiom_xml_writer_flush(
00791         axiom_xml_writer_t * writer,
00792         const axutil_env_t * env);
00793 
00796 #ifdef __cplusplus
00797 }
00798 #endif
00799 
00800 #endif                          /* AXIOM_XML_WRITER_H */

Generated on Wed Feb 27 19:43:03 2008 for Axis2/C by  doxygen 1.5.5