Navigation links are created by examining the dimension values tagged to each record processed.
The
NAVIGATION_PAGE_SPEC_LIST
element is used to configure
which unique combinations of dimensions are included in the query string
portion of an Assembler driven URL, for example:
<NAVIGATION_PAGE_SPEC_LIST> <NAVIGATION_PAGE_SPEC> <DIMENSION_NAME FULL_HIERARCHY=”True”>product.category</DIMENSION_NAME> </NAVIGATION_PAGE_SPEC> <NAVIGATION_PAGE_SPEC> <DIMENSION_NAME FULL_HIERARCHY=”False”>product.brand.name</DIMENSION_NAME> </NAVIGATION_PAGE_SPEC> <NAVIGATION_PAGE_SPEC> <DIMENSION_NAME FULL_HIERARCHY=”True”>product.category</DIMENSION_NAME> <DIMENSION_NAME FULL_HIERARCHY=”False”>product.brand.name</DIMENSION_NAME> </NAVIGATION_PAGE_SPEC> </NAVIGATION_PAGE_SPEC_LIST>
Each
<DIMENSION_NAME>
element includes a required
FULL_HIERARCHY
attribute that designates whether
intermediate navigation page links should be generated for hierarchical
dimensions. For example, consider the following dimension with hierarchical
values:
product.category camera digital_camera film_camera
If the
FULL_HIERARCHY
attribute is set to
"False"
, then URLs are only generated for the
"digital_camera" and "film_camera" dimension values. However, if
FULL_HIERARCHY
is set to
"True"
, then a link for the intermediate value "camera"
is also generated.
Example 1. Example
Consider three records that are tagged with the following values from the listed dimensions:
Record |
product.color |
product.category |
product.brand.name |
---|---|---|---|
|
black |
digital_camera |
Canon |
|
silver |
film_camera |
Kodak |
|
red |
digital_camera |
Kodak |
The first
NAVIGATION_PAGE_SPEC
element in the example presented
earlier in this topic only includes the
product.category
dimension:
digital_camera film_camera
Additionally, since the value of the
FULL_HIERARCHY
attribute for this dimension is
"True"
, any generated URL must include all ancestors
for
product.category
:
camera digital_camera film_camera
The second
NAVIGATION_PAGE_SPEC
element is similar, but includes
dimension values for the
product.brand.name
dimension, which is not
hierarchical:
Canon Kodak
The third
NAVIGATION_PAGE_SPEC
element is processed by iterating
over all three records and creating a hash of all unique combinations of values
from these dimensions results in the following navigation links:
digital_camera + Canon film_camera + Kodak digital_camera + Kodak
Additionally, it includes all possible ancestors for the
product.category
dimension values:
camera + Canon camera + Kodak
The complete list of generated URLs is the set of all possible links
resulting from the
NAVIGATION_PAGE_SPEC
elements within
NAVIGATION_PAGE_SPEC_LIST
:
camera digital_camera film_camera Canon Kodak digital_camera + Canon film_camera + Kodak digital_camera + Kodak camera + Canon camera + Kodak
It is important to realize that the creation of navigation page links
behaves in a very combinatoric fashion. Oracle strongly recommends specifying
only
one or two dimensions for any given
<NAVIGATION_PAGE_SPEC>
. Otherwise, it is easy to
generate millions of navigation links. Creating a sitemap with such a large
number of links can lead search engines to classify your site as a link farm,
which in extreme cases can result in your site being removed from search engine
indices.