Edgewall Software

Opened 19 years ago

Closed 18 years ago

Last modified 18 years ago

#7 closed defect (fixed)

Infinite recursion on some match templates

Reported by: cmlenz Owned by: cmlenz
Priority: blocker Milestone: 0.1
Component: General Version:
Keywords: Cc:

Description (last modified by cmlenz)

While match templates do protect themselves against simple infinite recursions since [15], other kinds of common combinations of match templates still cause infinite loops. For example:

<html xmlns:py="markup.edgewall.org/" py:strip="">
  <head py:match="head">
    ${select('head/*')}
    <link rel="stylesheet" type="text/css" href="foo.css"/>
  </head>
  <body py:match="body">
    <div id="header"/>
    ${select('body/*')}
    <div id="footer"/>
  </body>

  <body py:match="body">
    <div id="sidebar"/>
    ${select('body/*')}
  </body>

  <head>
    <title>This line should be followed by a link element</title>
  </head>
  <body>
    <div>This line should be surrounded by header/footer</div>
  </body>
</html>

The infinite recursion is caused by the two match templates matching “body” elements: they match each other`s output :-P

Change History (5)

comment:1 Changed 19 years ago by cmlenz

  • Priority changed from major to blocker

comment:2 Changed 18 years ago by cmlenz

  • Milestone set to 0.2

comment:3 Changed 18 years ago by cmlenz

  • Status changed from new to assigned

comment:4 Changed 18 years ago by cmlenz

  • Resolution set to fixed
  • Status changed from assigned to closed

Fixed in [37].

comment:5 Changed 18 years ago by cmlenz

  • Description modified (diff)
Note: See TracTickets for help on using tickets.