Hi Dave I've been using org.eclipse.wst.xml.core.internal.contentmodel.modelquery.CMDocumentManager.getCMDocument(String, String, String), but first you need to set the properties PROPERTY_AUTO_LOAD = true and PROPERTY_ASYNC_LOAD = false on the CMDocumentManager.
-Jesper On Tue, Aug 10, 2010 at 6:28 AM, David Carver <[email protected]> wrote: > I have some unit tests in which I need to load up a content model, the xml > file references a DTD, with a SYSTEMID = "staff.dtd". Unfortunately, the > code in this message always resolves this is: > > file:///staff.dtd > > Instead of trying to resolve it relative to the XML file that is referencing > it. > > I've tried putting these entries into a XML Catalog entry, as when I do a > URIResolver uriResolver = ModelQueryUtil.getIdResolver(doc);, it returns > the XMLCatalogResolver class. > > When I check the CMDocument, there are is nothing in there, and it acts as > if the DTD is never actually loaded or walked to create the content model. > > There are several W3C unit tests that need to have a content model to go > with them, but so far the code below doesn't seem to work for correctly > loading and generating the content model. > > Valentine or Nitin any idea what I may be doing wrong? > > Dave > > > public Document load(java.net.URL url) throws DOMTestLoadException { > IStructuredDocument document = null; > Document doc = null; > IDOMModel model = null; > > > try { > > model = (IDOMModel) > StructuredModelManager.getModelManager().createUnManagedStructuredModelFor(ContentTypeIdForXML.ContentTypeID_XML); > > FileInputStream file = new FileInputStream(url.getPath()); > InputStream inputStream = Utilities.getMarkSupportedStream(file); > ModelHandlerForXML xmlModelHandler = new ModelHandlerForXML(); > IModelLoader xmlModelLoader = xmlModelHandler.getModelLoader(); > xmlModelLoader.load(inputStream, model, null); > > } > catch (IOException e) { > e.printStackTrace(); > } catch (Exception e) { > e.printStackTrace(); > } > > IDOMModel docModel = (IDOMModel)model; > doc = (Document)docModel.getDocument(); > > // Load up a ContentModel if possible > ModelQuery modelQuery = ModelQueryUtil.getModelQuery(doc); > if ((modelQuery != null) && (modelQuery.getCMDocumentManager() != null)) > { > CMDocumentLoader loader = new CMDocumentLoader(doc, modelQuery); > loader.loadCMDocuments(); > } > > URIResolver uriResolver = ModelQueryUtil.getIdResolver(doc); > _______________________________________________ > wtp-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/wtp-dev > _______________________________________________ wtp-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/wtp-dev
