const char *(*pf_next_attr) ( xml_reader_t *, const char ** );
int (*pf_use_dtd) ( xml_reader_t * );
+ int (*pf_is_empty) ( xml_reader_t * );
};
VLC_API xml_reader_t * xml_ReaderCreate(vlc_object_t *, stream_t *) VLC_USED;
return reader->pf_use_dtd( reader );
}
+static inline int xml_ReaderIsEmptyElement( xml_reader_t *reader )
+{
+ if(reader->pf_is_empty == NULL)
+ return -2;
+
+ return reader->pf_is_empty( reader );
+}
+
enum {
XML_READER_NONE=0,
XML_READER_STARTELEM,
static int ReaderNextNode( xml_reader_t *, const char ** );
static const char *ReaderNextAttr( xml_reader_t *, const char ** );
+static int ReaderIsEmptyElement( xml_reader_t *);
static int ReaderUseDTD ( xml_reader_t * );
p_reader->p_sys = p_sys;
p_reader->pf_next_node = ReaderNextNode;
p_reader->pf_next_attr = ReaderNextAttr;
+ p_reader->pf_is_empty = ReaderIsEmptyElement;
p_reader->pf_use_dtd = ReaderUseDTD;
return VLC_SUCCESS;
stream_t *s = (stream_t*)p_context;
return stream_Read( s, p_buffer, i_buffer );
}
+
+static int ReaderIsEmptyElement( xml_reader_t *p_reader )
+{
+ return xmlTextReaderIsEmptyElement( p_reader->p_sys->xml );
+}