BYU Home page BRIGHAM YOUNG UNIVERSITY  
Search BYU 
Template Summary
Table of Contents
Go Down to Content

The ECEn XML Web Templates Reference contains a detailed listing of the XML tags and their contents in (roughly) document order. If you're wondering what a particular tag does or whether there's a tag to do what you want, this would be a good place to look. It can also serve as a sort of crash-course for the templates for advanced users and those who prefer a steep learning curve :).


NOTE: Some of the options and restrictions here haven't yet been implemented in the template code. For the most part, though, if it fits the description here it should work---feel free to email webmaster@ee.byu.edu if you find cases where this isn't true. Some of these may be known issues, most of which should be mentioned in the notes on this page when the page is complete.

The <page> tag
Some notes about <page>
This is the top-level tag that wraps around the entire page. All your other tags should fall within this tag. Note that the order (here as in the other tags) *is* significant (except in cases where it says *Choose*---as opposed to 'Insert'--- some number of the following, in which case you can insert any of the elements from that group in any order provided they total to the specified number).

This is a top-level tag

Tag model
<page>
Choose any number (or none) of the following:
<title> ...valid 'title' tag content... </title>
Some notes about <title>: This is the page title. It should show up in the top frame of the visitor's browser window. It may also show up in other places depending on what other titles/names are given.
<name> ...valid 'name' tag content... </name>
Some notes about <name>: This is the name for the whole page. This is what is used in the 'breadcrumb' (the list of pages near the top of a secondary page that shows the 'ancestory' or logical path down to the current page).
Choose any number (or none) of the following:
<parent-page> ...valid 'parent-page' tag content... </parent-page>
<now-showing-tab> ...valid 'now-showing-tab' tag content... </now-showing-tab>
<header-include> ...valid 'header-include' tag content... </header-include>
<user-input-settings> ...valid 'user-input-settings' tag content... </user-input-settings>
Insert any number (or none) of the following:
<style>
Some notes about <style>: This is where you set styles that affect the whole page. The main use thus far is to say what kind of page it is---a 'main' page or a secondary one. Note that defaults are marked with an asterisk (*). You can also set a style here to turn on an automatically generated table of contents for your page.
Choose one of the following identifiers...
secondary page *
Some notes about 'secondary page': Setting the page style to 'secondary page' makes a page with a small Department banner across the top and bottom and the majority of the space reserved for content. All except the main pages of groups and individuals should be this kind of page.
main page
Some notes about 'main page': Setting the page style to 'main page' makes a page with a large Department banner across the top and some tabs and such. There's a more-or-less mandatory feature section on the top helf, too. Only the main pages of groups and individuals should be this kind of page (and not even necessarily all of those).
visible table of contents
Some notes about 'visible table of contents': Set this style to turn on an automatically generated table of contents for your page. It will include the title of any section that has one as a link to that section.
under construction
Some notes about 'under construction': This style will turn on some automatic 'This page is under construction' content. We generally recommend that (except in special cases) you use this style to indicate a page that's under heavy construction and leave the page otherwsise as-is, rather than adding your own text stating that your page is being worked on. This lends consistency to the web pages and also saves you a lot of trouble when you finish your work on the page---just remove the style and you're set to go!
</style>
Choose any number (or none) of the following:
<az-index> ...valid 'az-index' tag content... </az-index>
<title-bar-links> ...valid 'title-bar-links' tag content... </title-bar-links>
<features> ...valid 'features' tag content... </features>
<content> ...valid 'content' tag content... </content>
</page>

The <parent-page> tag
Some notes about <parent-page>
This should be the location (e.g., index.xml, ../index.xml, etc.) of the page that is logically 'above' or a 'parent' to this one. For instance, if you have a main class page 'index.xml' and an assignment page 'assignments.xml' that's linked to from that page, 'index.xml' would be the parent-page of 'assignments.xml'. Note that you should link to the main XML file for the page (the one that contains the <page> element), not one of the other included files or the .phtml file.

Tags this tag could show up in

Tag model
<parent-page> [file location] </parent-page>

The <now-showing-tab> tag
Some notes about <now-showing-tab>
This is the name of the tab that should be highlighted on a main page. This style is only meaningful on a main page (since secondary pages don't have tabs).

Tags this tag could show up in

Tag model
<now-showing-tab> [identifier] </now-showing-tab>

The <header-include> tag
Some notes about <header-include>
You can use this tag to include things in the <head> element of the final HTML (like Javascript code etc.). Except that you can't, because (as far as I can remember) it hasn't yet been implemented. THIS TAG IS ONLY FOR ADVANCED USERS anyway, so we're not in a real rush.

Tags this tag could show up in

Tag model
<header-include> [text] </header-include>

The <user-input-settings> tag
Some notes about <user-input-settings>
Use this tag to set the basic options for any user-inputs you might have in the page. Note that any user-inputs you include in a page that doesn't have the user-input-settings stuff set up are unlikely to work correctly.

Tags this tag could show up in

Tag model
<user-input-settings>
Insert any number (or none) of the following:
<style>
Some notes about <style>: This is where you set style options for the user-inputs in the page. Right how, you can only set it to what method you want to use to return the data---and there's only one method available. This will probably change eventually.
Choose one of the following identifiers...
email csv
Some notes about 'email csv': This tells the page that when the person viewing the page submits whatever user-inputs are on the page the information should be emailed as a csv (spreadsheet) file (to the related-email-address email address).
</style>
<related-email-address> ...valid 'related-email-address' tag content... </related-email-address>
</user-input-settings>

The <az-index> tag
Some notes about <az-index>
This tag is used to generate an alphabatized site map for your set of pages. Note that the 'letter's can also be letter groups (e.g. aa-aj).

Tags this tag could show up in

Tag model
<az-index>
Insert any number (or none) of the following:
</az-index>

The <letter> tag
Some notes about <letter>
This is a single letter (or group of letters; e.g. aa-aj) block. It's part of the 'az-index'.

Tags this tag could show up in

Tag model
<letter>
Choose any number (or none) of the following:
<category> ...valid 'category' tag content... </category>
</letter>

The <category> tag
Some notes about <category>
This would be a category (or group of items) that is likely enough to be thought of as a single unit that you want to put an alphabetical entry for it. Much like phone numbers for Brigham Young University organizations might be grouped under the category 'Brigham Young University' in the 'B' section of the phone book, even though the individual organizations' names don't start with a 'B'.

Tags this tag could show up in

Tag model
<category>
Choose any number (or none) of the following:
<related-page> ...valid 'related-page' tag content... </related-page>
<related-section> ...valid 'related-section' tag content... </related-section>
<related-email-address> ...valid 'related-email-address' tag content... </related-email-address>
Choose any number (or none) of the following:
<category> ...valid 'category' tag content... </category>
</category>

The <item> tag
Some notes about <item>
This is a single menu or az-index item---basically, a link to some resource. The name is what will be displayed, and the related items will dictate where the person viewing the page is taken upon selecting the item.

Tag model
<item>
Choose any number (or none) of the following:
<related-page> ...valid 'related-page' tag content... </related-page>
<related-section> ...valid 'related-section' tag content... </related-section>
<related-email-address> ...valid 'related-email-address' tag content... </related-email-address>
</item>

The <menu> tag
Some notes about <menu>
Use this tag to generate any of a number of different kinds of navigation menus on your page. Note that only the 'main' menu is available on a main page (currently, I think).

Tags this tag could show up in

Tag model
<menu>
Insert any number (or none) of the following:
<style>
Choose one of the following identifiers...
main menu *
Some notes about 'main menu': This generates a dynamic menu in the main body of the page. It is the only type of menu currently allowed on main pages (I think), and may also be used on secondary pages (but do so with caution---it takes up a lot of content space).
right menu
Some notes about 'right menu': This produces a menu along the right hand side of the screen. These menus are not generally very deep---in fact, they might only render a single level of items. You can. however, specify multiple right menus with different titles and they should show up one beneath another. The right hand menu is usually used for a short list of related pages and such rather than for navigation within the site (which is more the main and left menus' purpose).
left menu
Some notes about 'left menu': Puts a menu along the left hand side of the page. This is usually used for navigation within a subset of pages on your own site (rather than linking to another site)---for instance, on a class page you might list the assignments page, the TA schedule page and the introduction page on this menu. You would not generally put links outside the group (e.g., the Department home page) here (that would be the purpose of the breadcrumb and the main pages' 'main' style menus). Note that if you include the same left menu on every page it links to, it should automagically blacken/deaden the link to the current page among them.
</style>
Choose any number (or none) of the following:
<sub-menu> ...valid 'sub-menu' tag content... </sub-menu>
</menu>

The <sub-menu> tag
Some notes about <sub-menu>
This is used to define a sub-menu of the current menu or sub-menu. Note that currently the various menus have different limitations on the depth of sub-menus that they permit---check to make sure your menu looks the way you had intended after making changes of additions to a menu.

Tags this tag could show up in

Tag model
<sub-menu>
Choose any number (or none) of the following:
<sub-menu> ...valid 'sub-menu' tag content... </sub-menu>
</sub-menu>

The <tabs> tag
Some notes about <tabs>
This is where you define the tabs for a main page. This tag is only meaningful for main pages (because only main pages have tabs).

Tags this tag could show up in

Tag model
<tabs>
Insert 1 or more of the following:
</tabs>

The <tab> tag
Some notes about <tab>
This tag describes a single tab on a main page. It has meaning within the 'tabs' tag that contains the descriptions of all the tabs on a main page.

Tags this tag could show up in

Tag model
<tab>
Insert any number (or none) of the following:
<style>
Choose one of the following identifiers...
normal tab *
Some notes about 'normal tab': This will make a normal tab. It's the default, so you don't really need to specify it.
route y tab
Some notes about 'route y tab': This will make a tab with a little 'Route Y' symbol on it.
blackboard tab
Some notes about 'blackboard tab': This will make a tab with a little blackboard symbol on it or something---someday. Currently that's not yet implemeneted, so it just makes a normal tag.
</style>
<related-page> ...valid 'related-page' tag content... </related-page>
</tab>

The <title-bar-links> tag
Some notes about <title-bar-links>
This is where you say what links you want to go in the light blue bar near the top of the page (opposite the Department logo). Title-bar links are permitted on both main and secondary pages.

Tags this tag could show up in

Tag model
<title-bar-links>
Insert any number (or none) of the following:
</title-bar-links>

The <link> tag
Some notes about <link>
This describes an individual title-bar link, and has meaning within the 'title-bar-links' tag.

Tags this tag could show up in

Tag model
<link>
Choose any number (or none) of the following:
<related-page> ...valid 'related-page' tag content... </related-page>
<related-section> ...valid 'related-section' tag content... </related-section>
<related-email-address> ...valid 'related-email-address' tag content... </related-email-address>
</link>

The <news> tag
Some notes about <news>
This is where you set up news items for your page. Of course, it doesn't have to be news---it could just be general information---but at least on main pages it's preferred to put longer-term items like that as features rather than news. The news box appears in a darker brown box near the right-hand side of the screen. Also, we suggest that on a page with tabs (main pages) the news items stay the same across tabs (as is the case on BYU's home page). That can be easily accomplished by putting them in their own XML file and including them in each tab's page XML. People writing secondary pages don't need to worry about this---just put a news box there if you want one there.

Tags this tag could show up in

Tag model
<news>
Choose any number (or none) of the following:
<related-page> ...valid 'related-page' tag content... </related-page>
Some notes about <related-page>: The 'related-page' tag for the news item says what page the link at the bottom of the news bar (the 'main news page' or 'more news' link) should link to. You can leave it out if you don't want such a link.
<related-page-name> ...valid 'related-page-name' tag content... </related-page-name>
Insert any number (or none) of the following:
<style>
Choose one of the following identifiers...
visible date
Some notes about 'visible date': This style turns on a line that shows today's date.
visible rss feed
Some notes about 'visible rss feed': This produces a little orange 'RSS 2.0 Feed' box on your news column that people can use to read your news box from a program called an RSS aggregator. You can learn more about RSS here: <http://www.commoncraft.com/archives/000528.html> (or do a web search for RSS). If your news column contains information that changes periodically you should consider allowing people to access that information via RSS.
</style>
<article> ...valid 'article' tag content... </article>
</news>

The <related-page-name> tag
Some notes about <related-page-name>
This says what the related-page link at the bottom of the news bar (the 'main news page' or 'more news' link) should be called---that is, what text the user should see for the link.

Tags this tag could show up in

Tag model
<related-page-name> [identifier] </related-page-name>

The <article> tag
Some notes about <article>
This describes an individual title-bar link, and has meaning within the 'title-bar-links' tag.

Tags this tag could show up in

Tag model
<article>
Insert any number (or none) of the following: