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

Last change on this file since 2857 was 2857, checked in by ksherdy, 7 years ago

Reverts.

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