In CCMS Desktop, you can integrate your own custom DTD shells that
define custom topic or map types, as well as additional domains or constraints. This is the
first of two methods you can use to do so.
You must distinguish between the version of DITA you use in
your deployment: DITA 1.2 and a DITA 1.3. This is critical for the step that involves
public and system identifiers.
Read the entire introductory section to determine which
of the two methods best fits your situation. See Custom DTD shell methods.
The following steps assume you have already created the custom shells you want to integrate.
For these steps, let's assume you are integrating the following:
company-concept.dtd, company-task.dtd,
company-reference.dtd,
company-topic.dtd, company-map.dtd,
and company-bookmap.dtd. In addition, you are integrating
company-utilitiesdomain.ent and
company-utilitiesdomain.mod.
To create a custom plugin for your custom shells:
-
In CCMS Admin, use Create Collection to
create a new plugin folder in Repository/system/plugins.
Give this DTD plugin a unique name, following standard DITA
plugin naming conventions. This procedure and the ones that follow use the
name com.company.doctypes as an
example. When following these instructions, be sure to substitute your
actual name.
-
Add a dtd subfolder using Create Collection.
- Copy plugin.xml and catalog.xml from com.ixiasoft.dita13.dtd to com.company.doctypes.
Tip: You might have to export both files to your desktop and then add them to com.company.doctypes using Insert Documents.
- Check out plugin.xml (in com.company.doctypes) and open it.
-
Delete the existing content and replace it with the following.
<plugin id="com.company.doctypes">
<feature extension="dita.specialization.catalog.relative"
value="catalog.xml" type="file"/>
</plugin>
- Save, close and check in plugin.xml.
- Check out catalog.xml (in com.company.doctypes) and open it.
-
Delete everything between the opening and closing catalog tags.
-
Add lines for the public and system identifiers of each shell you are
integrating.
Your catalog will vary depending on the shells you are integrating and the identifiers
of those DTDs. The following is a DITA 1.3 example of the shells listed above
and their likely identifiers.
Important: If
your deployment uses DITA 1.2, replace each instance of DITA 1.3 text with
DITA 1.2.
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
<!-- TOPICS -->
<public publicId="-//COMPANY//DTD DITA Company Concept//EN"
uri="dtd/company-concept.dtd"/>
<public publicId="-//COMPANY//DTD DITA 1.3 Company Concept//EN"
uri="dtd/company-concept.dtd"/>
<public publicId="-//COMPANY//DTD DITA Company Reference//EN"
uri="dtd/company-reference.dtd"/>
<public publicId="-//COMPANY//DTD DITA 1.3 COMPANY Reference//EN"
uri="dtd/company-reference.dtd"/>
<public publicId="-//COMPANY//DTD DITA Company Task//EN"
uri="dtd/company-task.dtd"/>
<public publicId="-//COMPANY//DTD DITA 1.3 Company Task//EN"
uri="dtd/company-task.dtd"/>
<public publicId="-//COMPANY//DTD DITA Company Topic//EN"
uri="dtd/company-topic.dtd"/>
<public publicId="-//COMPANY//DTD DITA 1.3 Company Topic//EN"
uri="dtd/company-topic.dtd"/>
<!-- MAPS -->
<public publicId="-//COMPANY//DTD DITA Company BookMap//EN"
uri="dtd/company-bookmap.dtd"/>
<public publicId="-//COMPANY//DTD DITA 1.3 Company BookMap//EN"
uri="dtd/company-bookmap.dtd"/>
<public publicId="-//COMPANY//DTD Company DITA Map//EN"
uri="dtd/company-map.dtd"/>
<public publicId="-//COMPANY//DTD DITA 1.3 Company Map//EN"
uri="dtd/company-map.dtd"/>
<!-- DOMAINS -->
<public publicId="-//COMPANY//ELEMENTS DITA Utilities Domain//EN"
uri="dtd/company-utilitiesdomain.mod"/>
<public publicId="-//COMPANY/ENTITIES DITA Utilities Domain//EN"
uri="dtd/company-utilitiesdomain.ent"/>
</catalog>
Note: It is very important that the public and
system IDs are absolutely correct in this catalog, as this is the file that
the CCMS and Oxygen use to locate your DTDs and validate your content. If
any one of them is wrong, it could prevent you from creating and editing
content that refers to any of these DTDs.
- Save, close and check in catalog.xml.
-
To add the new plugin's catalog to the master catalog, complete the task in
Reference the custom catalog in the CMS master catalog.
-
Follow the steps in Configure system id's for imported content for DITA 1.3 to add
the doctypes defined by your shells to the list of those recognized by the CMS
when importing content.
- Add the new topic or map types to equivalence.xml.
-
Take the following actions:
- Create new templates that correspond to the new topic and map
shells.
- Edit your existing templates to use the doctypes
of the new topic and map shells.
Your custom plugin is ready for use by your custom DTD
shells.