Normalized DITA Output URLs
DITA topics are standalone information units that multiple maps can reference, creating flexible relationships between content and publication contexts. Maps define organizational structure and navigation hierarchy for topic collections. This architecture allows the same topic to display in different contexts with different URLs, depending on how the publishing system processes the DITA structure.
Publishing systems typically generate URLs based on either the source file structure (reflecting the authoring organization) or the publication structure (reflecting the intended user navigation). The CMS implements both approaches through its dual URL system.
The DITA publishing pipeline generates URLs that display published, normalized DITA content on the DSS. The DSS uses a dedicated page schema view to render aliased DITA content, which differs from standard site page schema views.
The CMS provides two URL types for normalized DITA output: DITA alias URLs and DITA asset URLs. Administrators control which URL type displays in navigations, normalized DITA output, and search results by configuring alias URL pathing for the publishing target.
The following table compares DITA alias and asset URLs:
| DITA Alias URLs | DITA Asset URLs | |
|---|---|---|
| Output: | Normalized DITA | Normalized DITA |
| Rendering Schema: | Asset schema chosen for DSS DITA Rendering Schema and localizations | Asset schema chosen for DSS DITA Rendering Schema and localizations |
| Partial Match String: | No | Yes. The system appends this string to the beginning of the asset URL path (configured in publishing target). |
| Name in URL: | Alias name | DITA file name (.dita extension
included) Note If the output file has a different name from the
original DITA source file name, see the Variant Files
section. |
| URL Path: | Reflects Site Tree structure, excluding DITA maps (unless the Include Alias Containers in URLs setting is enabled on the publishing target) | Reflects Asset Tree structure, including asset folder names (path may
be different if DITA configurations affect DITA asset output
location) Note If the output file has a different path than the
original DITA source file name, see the Variant Files
section. |
| Configuration Requirements: | Standard Initial DITA Configuration and DITA Rendering requirements only. Asset URLs generate automatically, even when alias URL pathing is enabled. | All standard requirements (DITA Publishing Pipeline, DITA Rendering) plus alias requirements. The Enable Alias URL Pathing setting must be enabled for the publishing target. |
| URL Generation: | / | UrlMap.xml |
| Unique DITAVAL Path: | /_ditaval_/[name-of-DITAVAL-file] See the Top-level Map Conditional Processing section for details. | /_ditaval_/[name-of-DITAVAL-file] |
Alias URLs
Aliases extend DITA's organizational capabilities by creating site-integrated representations of DITA content that can participate in broader website navigation while maintaining their connection to the underlying DITA structure.
Aliases represent DITA content in the Site Tree. Aliases can integrate with site content and be included in navigations and links when published to a DSS. Unlike standard site links, alias links display through the Site Tree structure and link to published, normalized DITA output files.
When administrators enable alias URL pathing for the publishing target, the DITA publishing pipeline creates user-friendly URLs for aliased DITA topics based on their Site Tree location. Each aliased DITA topic receives a URL, and topics referenced in multiple DITA maps receive multiple alias URLs.
Example alias structure in the CMS Site Tree:
/Content Store/Home/Knowledge Base/User Guide/Get Started/Dashboard
In this example, Knowledge Base is the parent page of the alias structure. User Guide is the aliased root DITA map and Get Started and Dashboard are aliased DITA topics part of the User Guide map structure. The Site Tree displays the DITA icon and a document information type tag (DITA map, topic, concept, task, etc.) next to each alias name.
The published URL for the Dashboard DITA topic displays similarly to:
https://mysite.com/KnowledgeBase/GetStarted/Dashboard
URL generation varies based on the publishing target's structured URL settings.
Key Points
Alias URL generation key characteristics:
- Creates user-friendly URLs based on alias location in the Site Tree.
- Uses alias names in paths, similar to standard site page URLs (the CMS may omit or replace special characters in the URL).
- Excludes .dita file extension from URLs.
- DITA asset types, elements, and attributes can affect alias generation and names, impacting the generated URL.
- Review alias URLs in the tab of each aliased DITA asset after publishing with alias URL pathing enabled.
- Navigate to aliased DITA content on the DSS using the DITA alias URL or ID (e.g., /da/[id]) after publishing with alias URL pathing enabled. Hover over the alias in the Site Tree to view the ID in a tooltip.
- Administrators control DITA map name inclusion in alias URL paths using the
Include alias containers in URLs setting in the
publishing target's structured URL settings. When disabled, the CMS excludes
DITA maps from alias URL paths while preserving the hierarchical structure
of aliased topics.
For example, with the setting enabled, the Dashboard DITA topic URL becomes:
https://mysite.com/KnowledgeBase/UserGuide/GetStarted/Dashboard
The URL for the direct map becomes available at:
https://mysite.com/KnowledgeBase/UserGuide
This URL renders the map structure in a navigational table-of-contents format with clickable links.
UrlMap.xml
The CMS constructs and tracks site page URLs using UrlMap.xml as part of the published content set in the replication target directory. Treating DITA alias URLs similarly to site page URLs, the CMS also uses UrlMap.xml to construct and track alias URLs.
UrlMap.xml contains all generated site URLs, including all alias URLs. System administrators can review UrlMap.xml in the replication target's settings folder. When publishing aliased DITA assets with alias URL pathing enabled, the CMS always generates alias URL entries in this file.
This information can help with troubleshooting, maintenance, and customization work involving alias URLs on the DSS server.
Example alias URL entry in UrlMap.xml:
<Page ID="da/31" ContentID="a/42" Path="KnowledgeBase/GetStarted/Dashboard"
DITAFilePath="_DITA_Normalized\ditaRoot\user-guide\concepts\dashboard.dita"
Schema="_alias_" />Alias entry attributes include:
| Attribute | Description |
|---|---|
@ID | DITA alias ID (da/[id]) of the aliased DITA asset. |
@ContentID | Asset ID (a/[id]) of the aliased DITA asset. |
@Path | Alias URL path. |
@DITAFilePath | Version Notes: CMS 10.6.492 vs. CMS 10.6.308-10.6.378 10.6.492: Includes this attribute as the path to the corresponding normalized DITA output file in the _DITA_Normalized folder, where all normalized DITA output is published. CMS 10.6.308-10.6.378: Does not include this attribute. The alias entry references the corresponding entry in AssetMap.xml. These CMS versions publish normalized DITA assets to the same folder as other non-DITA assets without a separate dedicated folder. |
@Schema | Schema corresponding to the alias URL. The _alias_ value indicates use of the DSS rendering schema specified for aliases by administrators. |
DITA Asset URLs
Asset-based URLs reflect the authoring organization of assets rather than Site Tree organization, providing direct mapping between source files and their published representations.
DITA asset URLs are based on DITA asset location in the CMS Assets Manager. The CMS automatically generates these URLs for all published normalized DITA content, regardless of aliasing.
When administrators disable the Enable alias URL pathing setting or when published DITA content lacks aliases, the DITA publishing pipeline uses DITA asset URLs instead of alias URLs. DITA asset URLs combine the administrator-specified partial match string with the file location under the DITA root folder in the Assets Manager. DITA post-publish processor settings defines the partial match string for the publishing target.
Example where the DITA asset dashboard.dita resides at this Asset Tree path:
/ditaRoot/user-guide-docs/topics/concepts/dashboard.dita
In this example, ditaRoot serves as the DITA Root Folder.
The CMS generates this DITA asset URL for dashboard.dita:
https://mysite.com/_dita_/user-guide-docs/topics/concepts/dashboard.dita
Key Points
DITA asset URL key characteristics:
- The partial match string (_dita_ in this example) displays directly after the site domain URL.
The system appends the folder path from directly under the DITA root folder in the Assets Manager after the partial string. The DITA root folder itself does not display in the DITA asset URL. The DITA file name and .dita extension display in the URL path.
- You can navigate to normalized DITA content on the DSS using the DITA asset ID (/a/[id]) after publishing.
Advanced DITA Reuse URLs
DITA's reuse capabilities are fundamental to its architecture and include several
mechanisms: content references (@conref), key references
(@keyref), conditional processing (filtering), and various forms
of linking and relationship management. These features enable content sharing,
repurposing, and customization across publications while maintaining source
integrity.
Content reuse in DITA creates complex relationships between source content and published output. Topics in DITA are designed to be context-independent, allowing multiple maps to reference the same topic. This reuse capability is advantageous to DITA's content strategy but creates challenges for DITA alias and asset URL generation because the same topic may require different URLs depending on its context within different maps or publication hierarchies.
These reuse relationships affect URL generation management and content variation creation.
Variant Files
DITA reuse features can generate multiple variations of the same source file in normalized output with different names and locations than the original file in the Assets Manager.
Variants are multiple iterations of the same source topic created through DITA reuse strategies that produce different filenames in the output directory. These DITA reuse mechanisms generate variant files:
- Conditional processing with
<ditavalref>: When a topic is processed with different DITAVAL conditions via<ditavalref>elements, each condition set creates a variant. Also, topics that undergo branch-specific conditional processing create variants for each branch. - Key scoping with
@keyscope: When the same topic is referenced in different key scopes, each scope can create a variant with scope-specific key resolutions. - Copy-to operations with
@copy-to: The@copy-toattribute creates additional copies of topics with different file names. - Chunk processing with
@chunk: When chunk operations split or combine topics, they can create variant files with modified content or structure.
These DITA reuse strategies generate multiple variations of the same DITA source file in the normalized output with different names and locations than the original source file from the Assets Manager. The DITA-OT automatically appends a dash and number (-1, -2, etc.) to variant file names that do not already have a specified name. For example, overview.dita variations become overview-1.dita, overview-2.dita, etc.
CMS 10.6.492: The DITA publishing pipeline
does not generate alias URLs for normalized DITA variant file output. Instead,
the normalized output links to the variant file's corresponding DITA asset URL.
For example, if the original file is
https://mysite.com/_dita_/user-guide-docs/topics/concepts/dashboard.dita
and the variant file is named dashboard-1.dita, the DITA
asset URL becomes
https://mysite.com/_dita_/user-guide-docs/topics/concepts/dashboard-1.dita.
However, the pipeline still generates alias UrlMap.xml
entries for reused DITA topics but does not provide a
@DitaFilePath entry for them. The CMS navigation (not the
normalized output) links to these URL entries. DSS customization may be needed
to adjust these URLs based on their normalized DITA asset URL pattern.
CMS 10.6.308-10.6.378: The DITA publishing pipeline only generates alias URLs for the file name that matches the source topic name. All variants of the file point to this file, regardless of whether other variants exist in the output folder.
DSS customization is needed to adjust these URLs based on their normalized DITA asset URL pattern.
Anticipate output file name patterns by applying
<dvrprefix> or <dvrsuffix> to
the <ditavalref> metadata.
Top-level Map Conditional Processing
Users can apply DITAVALs to maps through the Configure DITA
Publishing dialog or <ditavalref> elements.
When users apply DITAVALs to the top-level (root) map that will be published, this creates conditionally processed files in different locations than standard normalized DITA content. These conditionally processed DITA assets use modified URLs instead of standard alias and asset URLs. Append ditaval and the DITAVAL file name (without the .ditaval extension) to the end of standard DITA alias or asset URLs.
Append this path format to Alias URLs or Asset URLs:
/_ditaval_/[name-of-DITAVAL-file]
For example, if applying beginner.ditaval to the map through the Configure DITA Publishing dialog, the DITA alias URL generated for the conditionally processed DITA content becomes:
https://mysite.com/KnowledgeBase/GetStarted/Dashboard/_ditaval_/beginner
The corresponding DITA asset URL becomes:
https://mysite.com/_dita_/base/cms/topics/concept/overview.dita/_ditaval_/beginner
See DITA-OT and Output Locations for details about the location of these conditionally processed normalized DITA files that are in a separate path from standard normalized DITA content.
Key Scoped Alias Names
When users apply @keyref (or @conref, @conkeyref) to the aliased DITA asset's <title> element, this
can display in the alias URL path, depending on your CMS version.
CMS 10.6.492: If alias names contain @keyref
values, the resolved value displays in the Alias URL
in the tab after publish.
However, if key scoping is applied to @keyref values in alias
names where there is more than one @keyref value applied to
the same topic in different key scopes, the DITA publishing pipeline does
not resolve these values in the alias name and alias URL. Instead, the
<keyref> names remain in the alias name and URL
path. However, the normalized output will indicate the correct resolved
values. DSS customization may be needed to adjust alias URL display, based
on their normalized DITA asset URL pattern.
CMS 10.6.308-10.6.378: The DITA publishing pipeline does not resolve
@keyref values in alias names. The keyref is omitted
from the published alias name and URL.
Copy-to Files
The @copy-to
attribute creates additional copies of topics with different file names. If the
@copy-to attribute only specifies the file name without a path, the
DITA-OT generates the @copy-to file in the folder of the DITA map, the map
that specifies the @copy-to.
- For links and images to resolve within the rendered normalized DITA topic,
the generated
@copy-tooutput file must reside in the same folder as its original DITA source file. - If only one
@copy-tois applied, the alias URL will still remain intact. The DITAFilePath will point to the@copy-tofile. However, if multiple@copy-tovalues are applied, then DSS customization will be needed. The Default URL in reflects only the last processed@copy-topath value.
Chunked Files
DITA chunking either merges topic contents into one output file or splits them into
separate files. When using @chunk="to-content", this attribute value merges content from
the child topics into the parent topic or map.
@copy-to to the topic or map being chunked with
@chunk="to-content so that aliases will not be created for the
child topics being chunked. In the output, with the requirements fulfilled, the CMS
will display the chunked file. However, if you plan to split one topic into separate
chunks (@chunk="by-topic"), the CMS will not create aliases for the
separate chunks. Only DITA asset URLs can be used.