Traversing a hierarchical layout template
First Claim
1. A method comprising:
- identifying a shared content element constraint that defines a content requirement common to all layout structures possible in a choice substructure in a hierarchical layout template; and
associating the shared content element constraint with a root node of the choice substructure in the hierarchical layout template;
wherein the content requirement common to all layout structures possible in the choice substructure corresponds to input content required by a node of the hierarchical layout template during generation of a page layout structure to format content to produce a document that combines layout and content;
the method further comprising;
receiving content elements to be presented according to the layout template; and
traversing the layout template to generate a layout structure that accommodates the content elements, said traversing including traversing the hierarchical layout template based at least in part on the shared content element constraint associated with the root node;
wherein said traversing the hierarchical layout template comprises generating a preferred layout based on penalty values associated with selected layout substructures.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus implementing systems and techniques for traversing a hierarchical layout template to accelerate a constraint-driven backtracking search for a solution of the layout template. In general, in one implementation, the techniques include identifying a shared content element constraint that defines a content requirement common to all layout structures possible in a choice substructure in a hierarchical layout template, and associating the shared content element constraint with a root node of the choice substructure in the hierarchical layout template. In another aspect, the techniques include receiving content elements to be presented according to a hierarchical layout template that includes a choice substructure including a root node having a shared content element constraint that defines a content requirement common to all layout structures possible in the choice substructure, and traversing the hierarchical layout template to generate a layout structure that accommodates the content elements, said traversing including traversing the hierarchical layout template based at least in part on the shared content element constraint associated with the root node.
-
Citations
33 Claims
-
1. A method comprising:
-
identifying a shared content element constraint that defines a content requirement common to all layout structures possible in a choice substructure in a hierarchical layout template; and associating the shared content element constraint with a root node of the choice substructure in the hierarchical layout template; wherein the content requirement common to all layout structures possible in the choice substructure corresponds to input content required by a node of the hierarchical layout template during generation of a page layout structure to format content to produce a document that combines layout and content;
the method further comprising;receiving content elements to be presented according to the layout template; and traversing the layout template to generate a layout structure that accommodates the content elements, said traversing including traversing the hierarchical layout template based at least in part on the shared content element constraint associated with the root node; wherein said traversing the hierarchical layout template comprises generating a preferred layout based on penalty values associated with selected layout substructures. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A software product tangibly stored on a machine-readable medium, the software product comprising instructions operable to cause one or more programmable processors to perform operations comprising:
-
identifying a shared content element constraint that defines a content requirement common to all layout structures possible in a choice substructure in a hierarchical layout template; and associating the shared content element constraint with a root node of the choice substructure in the hierarchical layout template; wherein the content requirement common to all layout structures possible in the choice substructure corresponds to input content required by a node of the hierarchical layout template during generation of a page layout structure to format content to produce a document that combines layout and content;
wherein the operations further comprise;receiving content elements to be presented according to the hierarchical layout template; and traversing the hierarchical layout template to generate a layout structure that accommodates the content elements, said traversing including traversing the hierarchical layout template based at least in part on the shared content element constraint associated with the root node; wherein said traversing the hierarchical layout template comprises generating a preferred layout based on penalty values associated with selected layout substructures. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method comprising:
-
receiving content elements to be presented according to a hierarchical layout template that includes a choice substructure including a root node having shared content element constraint that defines a content requirement common to all layout structures possible in the choice substructure; and traversing the hierarchical layout template to generate a layout structure that accommodates the content elements, said traversing including traversing the hierarchical layout template based at least in part on the shared content element constraint associated with the root node; wherein the content requirement common to all layout structures possible in the choice substructure corresponds to input content required by a node of the hierarchical layout template during generation of a page layout structure to format content to produce a document that combines layout and content;
wherein said traversing the hierarchical layout template comprises comparing at least one of the content elements with the shared content element constraint associated with the root node to avoid traversing at least a portion of the choice substructure; andwherein said traversing the hierarchical layout template comprises determining a preferred layout based on penalty values associated with selected layout substructures. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A software product tangibly stored on a machine-readable medium, the software product comprising instructions operable to cause one or more programmable processors to perform operations comprising:
-
receiving content elements to be presented according to a hierarchical layout template that includes a choice substructure including a root node having a shared content element constraint that defines a content requirement common to all layout structures possible in the choice substructure; and traversing the hierarchical layout template to generate a layout structure that accommodates the content elements, said traversing including traversing the hierarchical layout template based at least in part on the shared content element constraint associated with the root node; wherein the content requirement common to all layout structures possible in the choice substructure corresponds to input content required by a node of the hierarchical layout template during generation of a page layout structure to format content to produce a document that combines layout and content;
wherein said traversing the hierarchical layout template comprises comparing at least one of the content elements with the shared content element constraint associated with the root node to avoid traversing at least a portion of the choice substructure; andwherein said traversing the hierarchical layout template comprises determining a preferred layout based on penalty values associated with selected layout substructures. - View Dependent Claims (20, 21, 22)
-
-
23. A hierarchical layout template storable on a machine-readable medium, the hierarchical layout template comprising:
-
template leaf nodes each having one or more content element constrains each defining for an associated leaf node a content requirement for a layout structure using the associated leaf node; and a choice substructure including a root node and at least one of the template leaf nodes as a descendent of the root node, the root node having an associated shared content element constraint that defines a content requirement common to all layout structures possible in the choice substructure; wherein the content requirement common to all layout structures possible in the choice substructure corresponds to input content required by a node of the hierarchical layout template during generation of a page layout structure to format content to produce a document that combines layout and content;
wherein the hierarchical layout template is arranged to support traversing the hierarchical layout template comprising;
comparing at least one of content element with the shared content element constraint associated with the root node to avoid traversing at least a portion of the choice substructure, and determining a preferred layout based on penalty values associated with selected layout substructures. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification