When plug-in users open a document that has a specific document type such as "concept.dtd", the segmentation settings are empty even though the Acrolinx administrator has already defined segmentation settings for that document type.
This issue can occur when you work with the model user and use a classic Acrolinx plug-in to connect to a 4.0.x Acrolinx server.
All classic Acrolinx plug-ins for XML editors use DTD identifiers or XML schemas to get the right extraction settings from the Acrolinx server. Sometimes, the Acrolinx plug-ins use different identifiers for the same DTD. This issue can prevent users from receiving the segmentation and filter settings that you've defined for them.
By default, the Acrolinx plug-ins use a combination of the DTD public ID and system ID to identify the document type that users have open. However, if your users aren't receiving the correct segmentation and filter settings, you can configure the plug-ins to ignore the system ID. When you make this configuration, the plug-ins only use the public ID to identify DTDs.
When a user opens a document, the plug-in checks the DTD that's referenced in the <!DOCTYPE> element. The plug-in then checks if there are extraction settings for the DTD. If the plug-in can't find extraction settings for the DTD, users see an empty set of segmentation settings in the plug-in interface.
The DTD identifier in the extraction settings is a combination of the Public ID and System ID . You can find these IDs in the <!DOCTYPE> element of an open document.
- User A has saved segmentation and filter settings for all documents that contain the following doctype tag:
<!DOCTYPE book PUBLIC "-//MYCOMPANY//DTD UG XML Book//EN" "mydocbook.dtd">
- This group of settings is stored in an extraction settings file with the following identifier:
-//MYCOMPANY//DTD UG XML Book//ENmydocbook.dtd
In certain environments, different locations of a specific DTD file will cause multiple identifiers for the same DTD. Suppose that user B also works with mydocbook.dtd has selected the same checking profile as user A.
- User B opens a document with the following doctype tag:
<!DOCTYPE book PUBLIC "-//MYCOMPANY//DTD UG XML Book//EN" "C:\doctypes\mydocbook.dtd">
- User B expects to receive the same segmentation and filter settings as user A, but these settings are empty in the Acrolinx options.
This issue occurs because the plug-in is searching for extraction settings with the following identifier:
-//MYCOMPANY//DTD UG XML Book//ENC:\doctypes\mydocbook.dtdThe identifier contains an extra path c:\doctypes\ which causes a mismatch between the existing identifier for mydocbook.dtd and the identifiers that the plug-in is searching for.
Resolving the Problem
You can prevent this issue by updating the DTD identifier for the relevant segmentation and filter settings.
To use the public ID as the DTD identifier, follow these steps:
- Find and edit the line: segmentation.xml.DTD
- Remove the System ID from the end of the DTD reference.
If necessary, refer to the <!DOCTYPE> tag in a sample document to identify the system ID.
For the DTD reference
-//MYCOMPANY//DTD UG XML Book//ENC:\doctypes\mydocbook.dtd
shorten the DTD reference to
-//MYCOMPANY//DTD UG XML Book//EN
- Save your changes.
Your changes take effect immediately.