The Sub Page widget.

Sometimes we want to conveniently create a link to a sub page. We could do this by using the syntax SuperPage.SubPage, but this is inconvenient. Instead we want to be able to say ^SubPage.

Page creator.
Page name. Page contents. Page attributes. valid?
SuperPage ^SubPage true

Response Requester.
uri valid? contents?
SuperPage true

The widget should translate into a ? link of the form:
Response Examiner.
type pattern matches? value
contents \^SubPage<a title="create page" href="SuperPage.SubPage\?edit&nonExistent=true">\[\?\]</a> true

If the sub page is already present, then the widget should translate into a normal link.

Page creator.
Page name. Page contents. Page attributes. valid?
SuperPage.SubPage nothing true

Response Requester.
uri valid? contents?
SuperPage true

Response Examiner.
type pattern matches? value
contents <a href="SuperPage.SubPage">\^SubPage</a> true