Home Forums DITA and XMetaL Discussion Unable to create PDF file due to foreign element Reply To: Unable to create PDF file due to foreign element

Derek Read

Reply to: Unable to create PDF file due to foreign element

Do you know what the purpose of the element is?
Do the people that are adding it know what it is for?
Are they aware that they are adding an element to the document that is making the document invalid?

By far the simplest solution would be to replace this element with an equivalent valid DITA element.

If you cannot modify the XML so it is valid you could create a specialized DITA DTD. DITA defines something called “specialization”. This allows you to create a DTD that defines a select number of elements from the standard DITA DTDs as well as define new elements based on existing DITA elements (effectively performing the same “function” but having a different name). You would need to have someone familiar with creating a specialized DITA DTD do this. Once that is done the process for configuring XMetaL Author Enterprise to recognize that DTD as a DITA DTD is quite simple: you just fill in a couple of fields in a dialog and restart the software. Note that in this case you would still need to modify the XML files to change their PUBLIC id so that they no longer reference the standard DITA DTDs (because they are not standard DITA they are specialized). You would modify the XML's DOCTYPE declaration to use the PUBLIC id for the specialized DITA DTD. For all the information we document about DITA specializations see the Help topic: Working with DITA > DITA Specializations.

Of course any DTD used with XMetaL Author can simply be modified directly to allow any element, but that is a bad idea when working with a standards-based DTD like DITA as you are then creating files that are not compatible with the standard. It is only something you would do if you are in complete control of the DTD (in other words, you created or “own” the DTD, and you can roll out that change to everyone and all tools that need it).