Sha256: 029df0ce94baff47ef273c33d4967c68af3cd38e2da1e1a55ac89457f3c6f2a9

Contents?: true

Size: 1.23 KB

Versions: 30

Compression:

Stored size: 1.23 KB

Contents

/* sax.h
 * Copyright (c) 2011, Peter Ohler
 * All rights reserved.
 */

#ifndef __OX_SAX_H__
#define __OX_SAX_H__

#include <stdbool.h>

#include "sax_buf.h"
#include "sax_has.h"
#include "sax_stack.h"
#include "sax_hint.h"
#include "ox.h"

typedef struct _SaxOptions {
    int			symbolize;
    int			convert_special;
    int			smart;
    SkipMode		skip;
    char		strip_ns[64];
    Hints		hints;
} *SaxOptions;

typedef struct _SaxDrive {
    struct _Buf		buf;
    struct _NStack	stack;	/* element name stack */
    VALUE		handler;
    VALUE		value_obj;
    struct _SaxOptions	options;
    int			err;
    int			blocked;
    bool		abort;
    struct _Has		has;
#if HAS_ENCODING_SUPPORT
    rb_encoding *encoding;
#elif HAS_PRIVATE_ENCODING
    VALUE	encoding;
#else
    const char	*encoding;
#endif
} *SaxDrive;

extern void	ox_collapse_return(char *str);
extern void	ox_sax_parse(VALUE handler, VALUE io, SaxOptions options);
extern void	ox_sax_drive_cleanup(SaxDrive dr);
extern void	ox_sax_drive_error(SaxDrive dr, const char *msg);
extern int	ox_sax_collapse_special(SaxDrive dr, char *str, int pos, int line, int col);

extern VALUE	ox_sax_value_class;

extern VALUE	str2sym(SaxDrive dr, const char *str, const char **strp);

#endif /* __OX_SAX_H__ */

Version data entries

30 entries across 30 versions & 2 rubygems

Version Path
xaiml-0.1.3 vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax.h
xaiml-0.1.2 vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax.h
xaiml-0.1.1 vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax.h
xaiml-0.1.0 vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax.h
ox-2.10.0 ext/ox/sax.h
ox-2.9.4 ext/ox/sax.h
ox-2.9.3 ext/ox/sax.h
ox-2.9.2 ext/ox/sax.h
ox-2.9.1 ext/ox/sax.h
ox-2.9.0 ext/ox/sax.h
ox-2.8.4 ext/ox/sax.h
ox-2.8.3 ext/ox/sax.h
ox-2.8.2 ext/ox/sax.h
ox-2.8.1 ext/ox/sax.h
ox-2.8.0 ext/ox/sax.h
ox-2.7.0 ext/ox/sax.h
ox-2.6.0 ext/ox/sax.h
ox-2.5.0 ext/ox/sax.h
ox-2.4.13 ext/ox/sax.h
ox-2.4.12 ext/ox/sax.h