XUL:Templates Plan: Difference between revisions

Jump to navigation Jump to search
add notes about recursion
No edit summary
(add notes about recursion)
Line 26: Line 26:
# Add a Query Processor that uses an XML datasource, probably using XPath queries.
# Add a Query Processor that uses an XML datasource, probably using XPath queries.
# Add some default handling syntax for other types of datasources where the queries aren't as complex.
# Add some default handling syntax for other types of datasources where the queries aren't as complex.
# Add more control over recursion
# Add any additonal syntax that anyone desires to the Template Builder.
# Add any additonal syntax that anyone desires to the Template Builder.


Line 198: Line 199:
the nested content is generated and if a different set of rules should be
the nested content is generated and if a different set of rules should be
used.
used.
It isn't clear at this point whether recursion which generates the same result
again should be allowed or rejected. The current template builder doesn't
handle this gracefully for the non-lazily built case (generation of things
that aren't menus or trees) and the Tree Builder seems to drop the duplicated
items. Maybe someone could come up with a reason to have duplicated items, but
I don't think this needs to be supported.


===Content Updating===
===Content Updating===
Line 374: Line 368:
             container="?ref"
             container="?ref"
             member="?member"
             member="?member"
             query="{query string}"/>
             query="{query string}"
            recurse="true"/>
     <queryset>
     <queryset>
       <query>
       <query>
Line 417: Line 412:
tag but uses a different set of attributes to be more clearer for non-RDF
tag but uses a different set of attributes to be more clearer for non-RDF
usage.
usage.
==Recursion==
Recursion is controled in one of two ways. The 'recurse' attribute enables or disables it for all generated results. If the attribute is omitted, the results are queried for a default value. This allows RDF to still be recursive while other types are not. There should also be some determination based on the element tag used.
The second method is to add a 'template' attribute on an element inside the action, pointing to another <template> via its id. The causes that template to be parsed and used for child generation.
It isn't clear at this point whether recursion which generates a result with the
same id should be allowed or rejected. The current template builder doesn't
handle this gracefully for the non-lazily built case (generation of things
that aren't menus or trees) and the existing Tree Builder seems to drop the
duplicated items. Maybe someone could come up with a reason to have duplicated
items, but I don't think this needs to be supported.


==Datasources==
==Datasources==
287

edits

Navigation menu