source: proto/gml2svg/C/xerces/gml2svg_handler.hpp @ 1703

Last change on this file since 1703 was 1703, checked in by ksherdy, 8 years ago

Added gml2svg prototypes.

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1/*
2        sax2_gml2svg_handler.hpp
3    Copyright (C) 2007, 2008 Ken Herdy
4    Version 0.9
5    Licensed to the public under the Open Software License 3.0.
6*/ 
7
8#ifndef SAX2_GML2SVG_HANDLER_HPP_
9#define SAX2_GML2SVG_HANDLER_HPP_
10
11#include <xercesc/sax2/Attributes.hpp>
12#include <xercesc/sax2/DefaultHandler.hpp>
13#include <stdio.h>
14#include <vector>
15using namespace std;
16
17XERCES_CPP_NAMESPACE_USE
18
19class GML2SVGHandler: public DefaultHandler {
20public:
21   
22        GML2SVGHandler();
23        ~GML2SVGHandler();
24
25        void startDocument();
26       
27    void endDocument();
28       
29        void startElement(
30        const   XMLCh* const    uri,
31        const   XMLCh* const    localname,
32        const   XMLCh* const    qname,
33        const   Attributes&     attrs
34    );
35
36    void characters
37    (
38        const   XMLCh* const    chars
39        , const unsigned int    length
40    ); 
41       
42    void endElement
43        (
44                const XMLCh* const uri,
45                const XMLCh* const localname,
46                const XMLCh* const qname
47        );     
48       
49    // Error Handler
50    void error(const SAXParseException& e);
51    void fatalError(const SAXParseException& e);
52    void warning(const SAXParseException& e);
53   
54    // Helpers
55    void setOutputBuffer(char * out);
56    int setParameters(const char * screen_width,
57                                         const char * screen_height, 
58                                         const char * bbox, 
59                                         const char * feature_lname,
60                                         const char * feature_id_lname,
61                                         const char * geometry_lname, 
62                                         const char * style_string);
63   
64private:
65       
66        // Private Helpers
67        void freeMembers();
68       
69        // IO members
70        char * _out_buf;
71        unsigned long int _out_buf_pos;
72
73        // Type cast constants
74        XMLCh * _xmlch_APP_NS_URI;
75        XMLCh * _xmlch_GML_NS_URI;
76        XMLCh * _xmlch_GML_COORDINATES_LNAME;
77        XMLCh * _xmlch_CS_LOCAL_NAME;
78        XMLCh * _xmlch_DECIMAL_LOCAL_NAME;
79        XMLCh * _xmlch_TS_LOCAL_NAME; 
80       
81        char * _width;
82        char * _height;
83        double _sum_y;
84        double _scale_x;
85        double _scale_y;
86        double _x1;
87        double _y1;
88        double _x2;
89        double _y2;
90
91        XMLCh * _xmlch_feature_lname;
92        XMLCh * _xmlch_feature_id_lname;
93        XMLCh * _xmlch_geometry_lname;
94       
95        char * _style_string;
96        char * _feature_id; 
97       
98        char _crt_decimal;
99        char _crt_cs;
100        char _crt_ts;           
101       
102        bool _in_feature;
103        bool _in_geometry;
104        bool _in_gml_coordinates;
105               
106        vector <char *> _coordinates_buffer;
107       
108};
109
110#endif /*SAX2_GML2SVG_HANDLER_HPP_*/
Note: See TracBrowser for help on using the repository browser.