Home Forums General XMetaL Discussion RLX File location Reply To: RLX File location


Reply to: RLX File location

Once again, thanks for the long reply, but I afraid, that it raises more questions than answers. I'm actually very amazed currently.

The RLX file is a compiled version of the DTD, similar to the model that it creates in memory when it reads in a DTD file. Originally when computers were slower this was important since it could take a long time to create the model. The software still does this because it has always done so and was designed this way.

Thanks for this information.

As for reading in PUBLIC id values and SYSTEM id values, the software can be configured to load DTDs from anywhere you like but for DITA you do not want it to do that because if you do XMetaL Author will not load the DITA DTDs we include together with the customization (the rest of the functionality for editing DITA) that we have designed.

Tell me how to do this. I want to try to configure XMetal to load DTDs from anywhere where I like. Or do you basically mean something like modifying soc file, where PUBLIC id and path is told? If so, I have tried it already and it works actually. 🙂

When XMetaL Author Enterprise sees a DOCTYPE like the one you have in your message it does read in the SYSTEM id portion. In your case this is “concept.dtd”. The path is relative in this case, so it does look in the same folder as the XML file for the DTD — under normal circumstances. This is actually not something you want to have happen for DITA though, because the rest of the customization that drives all of the special DITA authoring functionality will not be loaded and the benefits of purchasing XMetaL Author Enterprise for its DITA authoring capability will be wasted.

Okay, this is the part where I'm really amazed. Really I am, because in XMetal 6.0, 7.0, 8.0 and 9.0 XMetal does not read concept.dtd (or respect it), which is defined in the topic DOCTYPE. In 9.0 DTD is read from the ../DITA/XACs/1.2/concept/concept_ditabase.dtd and if not, I have to ask that what the f*ck because I remember that in webinar someone from your company admitted this also that DTD is read from the XMetal installation folder. 🙂 It has always been, that we have to do certain things to get custom DTD's to work for end user. In 6.0 this is renaming certain folders from the XMetal installation and providing DITA-file, DTD and *.ctm, *.css etc. along the dita-file in the same folder. After those steps everything works well from DTD customizations to macros. No DITA functionality is missing from the Xmetal. In 8.0 this is more tricky, but we have succeeded with this also. The key has always been the same: remove certain folders from XMetal installation and make sure, that you have everything needed in the same folder than DITA-file.

You will be editing your DITA XML files with the most rudimentary “edit as XML” functionality the software provides.

I have never seen this if all necessary files are in the correct place.

However, if it is not found in the same folder then the PUBLIC id is read in and XMetaL Author looks through all the catalog files it has loaded for a matching PUBLIC id. If one is found then it loads the DTD (dtd,ent,mod) from the associated SYSTEM id value.

This seems to be true always. If files are found from the XMetal installation folder, it always tries to use those default DITA files. It never uses DTD, which is defined in the DOCTYPE unless the DTD is not default DITA. Me and my colleagues have seen this 100+n times so I'm pretty sure about this.
But really, thanks for the answers. No disrespect for XMetal: I think that XMetal is good XML editor. You can PM me if you want. I really would like to know how to configure XMetal to use Xmetal read DTD from the different location than XMetal installation folder. I know how to do this, but if there is a easy way, I would like to know it. Using XMetal tools (inside editor) is not an option for me.