
Hi Nigel, Anthony, Oxygen has a single Catalog Resolver and all catalogs are added to it (catalogs from each document type + user defined catalogs + Oxygen default catalog file). So even if a document type contributes only with 2-3 catalogs files, the associated editor will be validated/processed by Oxygen using all catalogs. Indeed conflicts may appear but the user can disable individual document types, thus removing their list of catalogs from the Catalog Resolver. My suggestion for you is to use XMLUtilAccess.resolvePathThroughCatalogs() because besides some very little extra tests that's just what it does, it questions the EntityResolver or the URIResolver (depending on the paramters it receives) to resolve the reference. Regards, Radu Radu Coravu <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 10/29/2010 5:22 PM, Nigel Whitaker wrote:
Hello,
We're developing a workspace plugin which reads form either existing editors or on-disk files.
We're using all the catalogs in the standard 12.0 release using this rather brute-force approach:
<configProperty name="cat_dita" value="${install.dir}/../../../frameworks/dita/catalog.xml" /> <configProperty name="cat_docbook" value="${install.dir}/../../../frameworks/docbook/catalog.xml" /> ... <configProperty name="cat_xmlspec" value="${install.dir}/../../../frameworks/xmlspec/catalog.xml" />
<configProperty name="xml.catalog.files" value="${cat_dita};${cat_docbook};...${cat_xmlspec}" />
However, we dont know about any user defined frameworks. Is there a way of knowing the framework associations of editors/files so that we could use the specific catalog file (also reducing the possibility of conflicts between the catalogs). Alternatively access to a URI/Entity resolver appropriate for the type of file which we could use when parsing (xerces) may be useful.
We know about XMLUtilAccess and its resolvePathThroughCatalogs method, but we'd like something we can use with the resolver/xerces directly. We've also seen some references to a 'grammarCache' object but are unsure how to use it.
Is there something we can use to improve our catalog handling.
Many thanks,
Nigel& Anthony (working on a comparison plugin)