JuliaIO / LibExpat.jl

Julia interface to the Expat XML parser library
Other
9 stars 32 forks source link

some confusing points about the source code and where to find a good documentation? #97

Open bsnyh opened 5 years ago

bsnyh commented 5 years ago

Hi, very nice work indeed. I was reading your source code and I have several confusing points which would be wonderful if you can shed some lights on them. Inside of the file runtests.jl, I have the following piece of code.

cbs.start_element = function (h, name, attrs)
       global found_start_element = true
       global start_element_name = name
       global first_attr_start_element = collect(keys(attrs))[1]
       global first_attrval_start_element = attrs[first_attr_start_element]
end

cbs.end_element = function (h,name)
       global found_end_element = true
       global end_element_name = name
end

My question about the above code is: it seems like the function parameter h is never used inside of the two function definitions, right? Or am I wrong about it? Inside of the streaming.jl, I have the following code.

mutable struct XPStreamHandler{D}
         cbs::XPCallbacks
         parser::XML_Parser
         data::D
end 

My question about this above code is that, it seems that I can not find XML_Parser anywhere, and it is really strange.

Finally, it would be wonderful if you can point to me some references / documentations for streaming large xml files with the help of the XPCallbacks. Would this be doable then?