I'm working on a template engine in PHP to streamline dynamic web development. Technical details aren't really necessary, but I'm just wondering what anyone thinks about the syntax of my "language" and how I could improve it.

There are 3 kinds of tags that can be incorporated into HTML files to use the template system, they are:

Variables

HTML Code:
@@var name(myVar) default(Default Value)@@
Components

HTML Code:
@@component name(myComponent)@@
and Regions (the one I'm trying to figure out the syntax for, this is what I have so far)

HTML Code:
@@regionblock name(myRegionBlock)@@
  @@region name(myFirstRegion)@@
  .
  .
  .
  @@end_region name(myFirstRegion)@@
  @@region name(mySecondRegion)@@
  .
  .
  .
  @@end_region name(mySecondRegion)@@
@@end_regionblock name(myRegionBlock)@@
Just a bit of background on the tags;

The var tag takes data that you generate (from a database or text file or whatever) and replaces the instances of it in the HTML file with said data.

The component tag takes another full page, and places it at that location in the HTML file containing the tag (basically an advanced include();)

The regionblock/region tags allow you to define part of a document in different ways, and regions can be duplicated multiple times with different data in each copy. You can have any number of region tags in a regionblock, and they all define different things the page could display at that point.

A good example for regionblock/region usage would be search engine results. One regionblock could contain a region for the results with titles, authors and publish dates for books; another region that says there were no search results; and another one that says there was an error or other issue. Based on what happens in the actual script that calls the database, etc., you define what to show, whether its results or an error or whatever.

Here's an example:

HTML Code:
@@regionblock name(searchResults)@@

  @@region name(result)@@
    <h3>@@var name(bookTitle)@@</h3>
    <p>@@var name(bookAuthor)@@</p>
    <p>@@var name(bookPublished)@@</p>
  @@end_region name(result)@@

  @@region name(no_results)@@
    <h3>There were no search results for your search. Try something else</h3>
  @@end_region name(no_results)@@

  @@region name(error)@@
    <h3>There was an error connecting to the database.</h3>
    <p>@@var name(errorMessage)@@</p>
  @@end_region name(error)@@

@@end_regionblock name(searchResults)@@
Anyways, (hopefully that was kinda straight forward) the engine works for the most part, but I'm just concerned about the naming convention.

Should I keep using the @@ characters to delimit the template tags?

What should I call what is currently being called regionblock? (I don't like regionblock) Is there a more.. semantic name? Regionlist? Regionset?

Should I change the name from 'region' to something else altogether? Should I change any of the template tag names?

The regionblock tag uses the name() argument, but so does the regions inside. I think that may be confusing... Should I change any of the argument names?

I greatly appreciate all advice in advance!