axiom_xml_writer.h

Go to the documentation of this file.
00001 /*
00002  *   Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
00015  *
00016  */
00017 
00018 #ifndef AXIOM_XML_WRITER_H
00019 #define AXIOM_XML_WRITER_H
00020 
00026 #include <axutil_env.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct axiom_xml_writer_ops axiom_xml_writer_ops_t;
00034     typedef struct axiom_xml_writer axiom_xml_writer_t;
00035 
00049     struct axiom_xml_writer_ops
00050     {
00059         void (AXIS2_CALL *
00060         free)(axiom_xml_writer_t *writer,
00061             const axutil_env_t *env);
00071         axis2_status_t(AXIS2_CALL *
00072                 write_start_element)(axiom_xml_writer_t *writer,
00073                         const axutil_env_t *env,
00074                         axis2_char_t *localname);
00084         axis2_status_t(AXIS2_CALL *
00085                 end_start_element)(axiom_xml_writer_t *writer,
00086                         const axutil_env_t *env);
00097         axis2_status_t(AXIS2_CALL *
00098                 write_start_element_with_namespace)(axiom_xml_writer_t *writer,
00099                         const axutil_env_t *env,
00100                         axis2_char_t *localname,
00101                         axis2_char_t *namespace_uri);
00102 
00113         axis2_status_t(AXIS2_CALL *
00114                 write_start_element_with_namespace_prefix)(axiom_xml_writer_t *writer,
00115                         const axutil_env_t *env,
00116                         axis2_char_t *localname,
00117                         axis2_char_t *namespace_uri,
00118                         axis2_char_t *prefix);
00127         axis2_status_t(AXIS2_CALL *
00128                 write_empty_element)(axiom_xml_writer_t *writer,
00129                         const axutil_env_t *env,
00130                         axis2_char_t *localname);
00141         axis2_status_t(AXIS2_CALL *
00142                 write_empty_element_with_namespace)(axiom_xml_writer_t *writer,
00143                         const axutil_env_t *env,
00144                         axis2_char_t *localname,
00145                         axis2_char_t *namespace_uri);
00156         axis2_status_t(AXIS2_CALL *
00157                 write_empty_element_with_namespace_prefix)(axiom_xml_writer_t *writer,
00158                         const axutil_env_t *env,
00159                         axis2_char_t *localname,
00160                         axis2_char_t *namespace_uri,
00161                         axis2_char_t *prefix);
00169         axis2_status_t(AXIS2_CALL *
00170                 write_end_element)(axiom_xml_writer_t *writer,
00171                         const axutil_env_t *env);
00179         axis2_status_t(AXIS2_CALL *
00180                 write_end_document)(axiom_xml_writer_t *writer,
00181                         const axutil_env_t *env);
00191         axis2_status_t(AXIS2_CALL *
00192                 write_attribute)(axiom_xml_writer_t *writer,
00193                         const axutil_env_t *env,
00194                         axis2_char_t *localname,
00195                         axis2_char_t *value);
00205         axis2_status_t(AXIS2_CALL *
00206                 write_attribute_with_namespace)(axiom_xml_writer_t *writer,
00207                         const axutil_env_t *env,
00208                         axis2_char_t *localname,
00209                         axis2_char_t *value,
00210                         axis2_char_t *namespace_uri);
00219         axis2_status_t(AXIS2_CALL *
00220                 write_attribute_with_namespace_prefix)(axiom_xml_writer_t *writer,
00221                         const axutil_env_t *env,
00222                         axis2_char_t *localname,
00223                         axis2_char_t *value,
00224                         axis2_char_t *namespace_uri,
00225                         axis2_char_t *prefix);
00235         axis2_status_t(AXIS2_CALL *
00236                 write_namespace)(axiom_xml_writer_t *writer,
00237                         const axutil_env_t *env,
00238                         axis2_char_t *prefix,
00239                         axis2_char_t *namespace_uri);
00248         axis2_status_t(AXIS2_CALL *
00249                 write_default_namespace)(axiom_xml_writer_t *writer,
00250                         const axutil_env_t *env,
00251                         axis2_char_t *namespace_uri);
00261         axis2_status_t(AXIS2_CALL *
00262                 write_comment)(axiom_xml_writer_t *writer,
00263                         const axutil_env_t *env,
00264                         axis2_char_t *value);
00274         axis2_status_t(AXIS2_CALL *
00275                 write_processing_instruction)(axiom_xml_writer_t *writer,
00276                         const axutil_env_t *env,
00277                         axis2_char_t *target);
00278 
00288         axis2_status_t(AXIS2_CALL *
00289                 write_processing_instruction_data)(axiom_xml_writer_t *writer,
00290                         const axutil_env_t *env,
00291                         axis2_char_t *target,
00292                         axis2_char_t *data);
00293 
00301         axis2_status_t(AXIS2_CALL *
00302                 write_cdata)(axiom_xml_writer_t *writer,
00303                         const axutil_env_t *env,
00304                         axis2_char_t *data);
00305 
00306 
00314         axis2_status_t(AXIS2_CALL *
00315                 write_dtd)(axiom_xml_writer_t *writer,
00316                         const axutil_env_t *env,
00317                         axis2_char_t *dtd);
00318 
00319 
00327         axis2_status_t(AXIS2_CALL *
00328                 write_entity_ref)(axiom_xml_writer_t *writer,
00329                         const axutil_env_t *env,
00330                         axis2_char_t *name);
00331 
00338         axis2_status_t(AXIS2_CALL *
00339                 write_start_document)(axiom_xml_writer_t *writer,
00340                         const axutil_env_t *env);
00341 
00342 
00350         axis2_status_t(AXIS2_CALL *
00351                 write_start_document_with_version)(axiom_xml_writer_t *writer,
00352                         const axutil_env_t *env,
00353                         axis2_char_t *version);
00354 
00363         axis2_status_t(AXIS2_CALL *
00364                 write_start_document_with_version_encoding)(axiom_xml_writer_t *writer,
00365                         const axutil_env_t *env,
00366                         axis2_char_t *version,
00367                         axis2_char_t *encoding);
00368 
00376         axis2_status_t(AXIS2_CALL *
00377                 write_characters)(axiom_xml_writer_t *writer,
00378                         const axutil_env_t *env,
00379                         axis2_char_t *text);
00380 
00388         axis2_char_t*(AXIS2_CALL *
00389                 get_prefix)(axiom_xml_writer_t *writer,
00390                         const axutil_env_t *env,
00391                         axis2_char_t *uri);
00392 
00401         axis2_status_t(AXIS2_CALL *
00402                 set_prefix)(axiom_xml_writer_t *writer,
00403                         const axutil_env_t *env,
00404                         axis2_char_t *prefix,
00405                         axis2_char_t *uri);
00406 
00414         axis2_status_t(AXIS2_CALL *
00415                 set_default_prefix)(axiom_xml_writer_t *writer,
00416                         const axutil_env_t *env,
00417                         axis2_char_t *uri);
00418 
00427         axis2_status_t(AXIS2_CALL *
00428                 write_encoded)(axiom_xml_writer_t *writer,
00429                         const axutil_env_t *env,
00430                         axis2_char_t *text,
00431                         int in_attr);
00432 
00433         void*(AXIS2_CALL *
00434                 get_xml)(axiom_xml_writer_t *writer,
00435                         const axutil_env_t *env);
00436 
00437         unsigned int(AXIS2_CALL *
00438                 get_xml_size)(axiom_xml_writer_t *writer,
00439                         const axutil_env_t *env);
00440 
00441         int(AXIS2_CALL *
00442                 get_type)(axiom_xml_writer_t *writer,
00443                         const axutil_env_t *env);
00444 
00445         axis2_status_t(AXIS2_CALL *
00446                 write_raw)(axiom_xml_writer_t *writer,
00447                         const axutil_env_t *env,
00448                         axis2_char_t *content);
00449         axis2_status_t (AXIS2_CALL *
00450                 flush)(axiom_xml_writer_t *writer,
00451                         const axutil_env_t *env);
00452 
00453     };
00454 
00460     struct axiom_xml_writer
00461     {
00462         const axiom_xml_writer_ops_t *ops;
00463     };
00464 
00469     AXIS2_EXTERN axiom_xml_writer_t * AXIS2_CALL
00470     axiom_xml_writer_create(const axutil_env_t *env,
00471             axis2_char_t *filename,
00472             axis2_char_t *encoding,
00473             int is_prefix_default,
00474             int compression);
00475 
00476     AXIS2_EXTERN axiom_xml_writer_t * AXIS2_CALL
00477     axiom_xml_writer_create_for_memory(const axutil_env_t *env,
00478             axis2_char_t *encoding,
00479             int is_prefix_default,
00480             int compression,
00481             int type);
00482 
00483 AXIS2_EXTERN void AXIS2_CALL
00484 axiom_xml_writer_free(axiom_xml_writer_t *writer,
00485     const axutil_env_t *env);
00486 
00487 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00488 axiom_xml_writer_write_start_element(axiom_xml_writer_t *writer,
00489     const axutil_env_t *env,
00490     axis2_char_t *localname);
00491 
00492 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00493 axiom_xml_writer_end_start_element(axiom_xml_writer_t *writer,
00494     const axutil_env_t *env);
00495 
00496 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00497 axiom_xml_writer_write_start_element_with_namespace(axiom_xml_writer_t *writer,
00498     const axutil_env_t *env,
00499     axis2_char_t *localname,
00500     axis2_char_t *namespace_uri);
00501 
00502 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00503 axiom_xml_writer_write_start_element_with_namespace_prefix(axiom_xml_writer_t *writer,
00504     const axutil_env_t *env,
00505     axis2_char_t *localname,
00506     axis2_char_t *namespace_uri,
00507     axis2_char_t *prefix);
00508 
00509 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00510 axiom_xml_writer_write_empty_element(axiom_xml_writer_t *writer,
00511     const axutil_env_t *env,
00512     axis2_char_t *localname);
00513 
00514 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00515 axiom_xml_writer_write_empty_element_with_namespace(axiom_xml_writer_t *writer,
00516     const axutil_env_t *env,
00517     axis2_char_t *localname,
00518     axis2_char_t *namespace_uri);
00519 
00520 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00521 axiom_xml_writer_write_empty_element_with_namespace_prefix(axiom_xml_writer_t *writer,
00522     const axutil_env_t *env,
00523     axis2_char_t *localname,
00524     axis2_char_t *namespace_uri,
00525     axis2_char_t *prefix);
00526 
00527 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00528 axiom_xml_writer_write_end_element(axiom_xml_writer_t *writer,
00529     const axutil_env_t *env);
00530 
00531 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00532 axiom_xml_writer_write_end_document(axiom_xml_writer_t *writer,
00533     const axutil_env_t *env);
00534 
00535 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00536 axiom_xml_writer_write_attribute(axiom_xml_writer_t *writer,
00537     const axutil_env_t *env,
00538     axis2_char_t *localname,
00539     axis2_char_t *value);
00540 
00541 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00542 axiom_xml_writer_write_attribute_with_namespace(axiom_xml_writer_t *writer,
00543     const axutil_env_t *env,
00544     axis2_char_t *localname,
00545     axis2_char_t *value,
00546     axis2_char_t *namespace_uri);
00547 
00548 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00549 axiom_xml_writer_write_attribute_with_namespace_prefix(axiom_xml_writer_t *writer,
00550     const axutil_env_t *env,
00551     axis2_char_t *localname,
00552     axis2_char_t *value,
00553     axis2_char_t *namespace_uri,
00554     axis2_char_t *prefix);
00555 
00556 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00557 axiom_xml_writer_write_namespace(axiom_xml_writer_t *writer,
00558     const axutil_env_t *env,
00559     axis2_char_t *prefix,
00560     axis2_char_t *namespace_uri);
00561 
00562 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00563 axiom_xml_writer_write_default_namespace(axiom_xml_writer_t *writer,
00564     const axutil_env_t *env,
00565     axis2_char_t *namespace_uri);
00566 
00567 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00568 axiom_xml_writer_write_comment(axiom_xml_writer_t *writer,
00569     const axutil_env_t *env,
00570     axis2_char_t *value);
00571 
00572 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00573 axiom_xml_writer_write_processing_instruction(axiom_xml_writer_t *writer,
00574     const axutil_env_t *env,
00575     axis2_char_t *target);
00576 
00577 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00578 axiom_xml_writer_write_processing_instruction_data(axiom_xml_writer_t *writer,
00579     const axutil_env_t *env,
00580     axis2_char_t *target,
00581     axis2_char_t *data);
00582 
00583 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00584 axiom_xml_writer_write_cdata(axiom_xml_writer_t *writer,
00585     const axutil_env_t *env,
00586     axis2_char_t *data);
00587 
00588 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00589 axiom_xml_writer_write_dtd(axiom_xml_writer_t *writer,
00590     const axutil_env_t *env,
00591     axis2_char_t *dtd);
00592 
00593 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00594 axiom_xml_writer_write_entity_ref(axiom_xml_writer_t *writer,
00595     const axutil_env_t *env,
00596     axis2_char_t *name);
00597 
00598 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00599 axiom_xml_writer_write_start_document(axiom_xml_writer_t *writer,
00600     const axutil_env_t *env);
00601 
00602 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00603 axiom_xml_writer_write_start_document_with_version(axiom_xml_writer_t *writer,
00604     const axutil_env_t *env,
00605     axis2_char_t *version);
00606 
00607 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00608 axiom_xml_writer_write_start_document_with_version_encoding(axiom_xml_writer_t *writer,
00609     const axutil_env_t *env,
00610     axis2_char_t *version,
00611     axis2_char_t *encoding);
00612 
00613 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00614 axiom_xml_writer_write_characters(axiom_xml_writer_t *writer,
00615     const axutil_env_t *env,
00616     axis2_char_t *text);
00617 
00618 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00619 axiom_xml_writer_get_prefix(axiom_xml_writer_t *writer,
00620     const axutil_env_t *env,
00621     axis2_char_t *uri);
00622 
00623 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00624 axiom_xml_writer_set_prefix(axiom_xml_writer_t *writer,
00625     const axutil_env_t *env,
00626     axis2_char_t *prefix,
00627     axis2_char_t *uri);
00628 
00629 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00630 axiom_xml_writer_set_default_prefix(axiom_xml_writer_t *writer,
00631     const axutil_env_t *env,
00632     axis2_char_t *uri);
00633 
00634 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00635 axiom_xml_writer_write_encoded(axiom_xml_writer_t *writer,
00636     const axutil_env_t *env,
00637     axis2_char_t *text,
00638     int in_attr);
00639 
00640 AXIS2_EXTERN void* AXIS2_CALL
00641 axiom_xml_writer_get_xml(axiom_xml_writer_t *writer,
00642     const axutil_env_t *env);
00643 
00644 AXIS2_EXTERN unsigned int AXIS2_CALL
00645 axiom_xml_writer_get_xml_size(axiom_xml_writer_t *writer,
00646     const axutil_env_t *env);
00647 
00648 AXIS2_EXTERN int AXIS2_CALL
00649 axiom_xml_writer_get_type(axiom_xml_writer_t *writer,
00650     const axutil_env_t *env);
00651 
00652 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00653 axiom_xml_writer_write_raw(axiom_xml_writer_t *writer,
00654     const axutil_env_t *env,
00655     axis2_char_t *content);
00656 
00657 AXIS2_EXTERN axis2_status_t  AXIS2_CALL
00658 axiom_xml_writer_flush(axiom_xml_writer_t *writer,
00659     const axutil_env_t *env);
00660 
00664 #ifdef __cplusplus
00665 }
00666 #endif
00667 
00668 #endif /* AXIOM_XML_WRITER_H */

Generated on Thu May 3 12:31:01 2007 for Axis2/C by  doxygen 1.4.6