def new_page(name, xml_assist, option={}, parent_component=nil)
path = @load_path.look_up(name)
page_id = Page.page_id(name, parent_component)
if (page = @page_cache.fetch(path, page_id)) then
if (! page.modified?) then
if (page.parent_component == parent_component) then
yield(page) if block_given?
page.recompile
return page
end
end
end
page = Page.new(name, self, xml_assist, option)
page.parent_component = parent_component
yield(page) if block_given?
page.compile
@page_cache.store(path, page_id, page)
page
end