diff --git a/lib/feed_reader/formats/rdf.ex b/lib/feed_reader/formats/rdf.ex index 9091ab8..309c0a2 100644 --- a/lib/feed_reader/formats/rdf.ex +++ b/lib/feed_reader/formats/rdf.ex @@ -21,6 +21,7 @@ defmodule FeedReader.Formats.RDF do limits: XMLResourceLimits.new(opts), frames: [], channel: nil, + root_closed: false, error: nil } diff --git a/lib/feed_reader/formats/rdf/handler.ex b/lib/feed_reader/formats/rdf/handler.ex index 2c727d4..bfb29e5 100644 --- a/lib/feed_reader/formats/rdf/handler.ex +++ b/lib/feed_reader/formats/rdf/handler.ex @@ -96,5 +96,6 @@ defmodule FeedReader.Formats.RDF.Handler do {:ok, %{state | frames: [%{parent | children: children} | rest]}} end - defp close_element(_frame, _value, state), do: {:ok, state} + defp close_element(_frame, _value, %{frames: []} = state), + do: {:halt, %{state | root_closed: true}} end