The content referenced by pagecontrol above will be rendered both above and below the <table> tags.
To keep things sane, named blocks have restrictions that defs do not:
The <%block> declaration cannot have any argument signature. The name of a <%block> can only be defined once in a template – an error is raised if two blocks of the same name occur anywhere in a single template, regardless of nesting. A similar error is raised if a top level def shares the same name as that of a block. A named <%block> cannot be defined within a <%def>, or inside the body of a “call”, i.e. <%call> or <%namespacename:defname> tag. Anonymous blocks can, however.