Site navigation must adjust itself if the site structure changes. In OpenCms you can add or remove pages from your website dynamically. These changes should be mirrored automatically in the site navigation. If a page is removed, it should not appear anymore. If a page is added, it should be reachable via navigation. In OpenCms you can write such dynamic navigation using the <cms:navigation>
tag.
One navigation item must be usable on several pages. Typically, you write a navigation item (of one type) and display it on various pages of your website. The entries in the navigation fit to the very page on which it is placed.
There are differents types of navigation. A webpage can often provide various approaches to navigation: there could be top navigation, bringing you to the main pages of your website, there may be side navigation that displays where the current page is placed in the navigation tree and that is used to navigate relative to that page. And last, there are breadcrumbs that tell you the way from the home page of your site to the current page. OpenCms provides support for all three of these navigational types.