Skip to main content



      Home
Home » Language IDEs » ServerTools (WTP) » XML Editor + Schema Validation question
XML Editor + Schema Validation question [message #192296] Wed, 09 May 2007 13:27 Go to next message
Eclipse UserFriend
I am trying to reuse the org.eclipse.wst.sse.ui.StructuredTextEditor as
my editor to edit XML in an RCP application. My XML documents are
stored in a DB and are retrieved and represented by IStorage objects, so
they *never* have any representation in the local client's filesystem.

I open the StructuredTextEditor programmatically via:
page.openEditor(input, "org.eclipse.wst.sse.ui.StructuredTextEditor");

My *input* is an instance of IStorageEditorInput which serves up its
corresponding xml document in the form of an IStorage.

Additionally, I am using the "org.eclipse.ui.editors.documentProviders"
extension point in order to supply a document provider that is able to
save to my DB, rather than to a file. I'm extending
StorageDocumentProvider and only overriding the doSaveDocument(..) method.

To this point, all appears to be working correctly. I'm able to open my
XML docs, edit, save and reopen them. Basic "as you type" well-formed
XML validation is working correctly.

The step I'm getting stuck on is attempting to hook the "as you type"
schema validation & content assist into the editor. My schema is being
supplied in ".xsd" files which are packaged in the plugins that make up
my application.

The XML documents in my DB will need an abstract way of referring to
their schema, so I am looking into using the
"uriresolver.resolverExtensions" extension point.

eg:
<extension
point="org.eclipse.wst.common.uriresolver.resolverExtensions ">
<resolverExtension
stage="postnormalization"
class="myPackage.TestResolver">
</resolverExtension>
</extension>

After setting this up, the resolver is able to derive the location of
the schema file in the local file system based on a schema declaration
in my XML file. (ie, ExtensibleURIResolver.resolve() finds my
TestResolver and calls resolver.resolve(), which ends up returning the
correct location in my local file system.)

It appears that the StructuredTextEditor has knowledge of the schema at
this point, because content assist is suggesting the correct elements
and attributes for my XML.

However, I still do not get the schema-based validation.

Any advice on where I should look or anything I can try is greatly
appreciated.

Additionally, if I am making any invalid assumptions or if anything I've
described conflicts with the intended use of these APIs/extensions,
please let me know.

Thanks,
-Frank
Re: XML Editor + Schema Validation question [message #192337 is a reply to message #192296] Wed, 09 May 2007 23:58 Go to previous messageGo to next message
Eclipse UserFriend
Hmm... best thing to do here is to debug the XML Validator code (located
in xml.core). There may be some assumptions lurking in there that 'thing'
getting validated in an IFile. That wouldn't surprise me at all since
it's the only use case we've ever tested.

frank rydzewski wrote:

> I am trying to reuse the org.eclipse.wst.sse.ui.StructuredTextEditor as
> my editor to edit XML in an RCP application. My XML documents are
> stored in a DB and are retrieved and represented by IStorage objects, so
> they *never* have any representation in the local client's filesystem.

> I open the StructuredTextEditor programmatically via:
> page.openEditor(input, "org.eclipse.wst.sse.ui.StructuredTextEditor");

> My *input* is an instance of IStorageEditorInput which serves up its
> corresponding xml document in the form of an IStorage.

> Additionally, I am using the "org.eclipse.ui.editors.documentProviders"
> extension point in order to supply a document provider that is able to
> save to my DB, rather than to a file. I'm extending
> StorageDocumentProvider and only overriding the doSaveDocument(..) method.

> To this point, all appears to be working correctly. I'm able to open my
> XML docs, edit, save and reopen them. Basic "as you type" well-formed
> XML validation is working correctly.

> The step I'm getting stuck on is attempting to hook the "as you type"
> schema validation & content assist into the editor. My schema is being
> supplied in ".xsd" files which are packaged in the plugins that make up
> my application.

> The XML documents in my DB will need an abstract way of referring to
> their schema, so I am looking into using the
> "uriresolver.resolverExtensions" extension point.

> eg:
> <extension
> point="org.eclipse.wst.common.uriresolver.resolverExtensions ">
> <resolverExtension
> stage="postnormalization"
> class="myPackage.TestResolver">
> </resolverExtension>
> </extension>

> After setting this up, the resolver is able to derive the location of
> the schema file in the local file system based on a schema declaration
> in my XML file. (ie, ExtensibleURIResolver.resolve() finds my
> TestResolver and calls resolver.resolve(), which ends up returning the
> correct location in my local file system.)

> It appears that the StructuredTextEditor has knowledge of the schema at
> this point, because content assist is suggesting the correct elements
> and attributes for my XML.

> However, I still do not get the schema-based validation.

> Any advice on where I should look or anything I can try is greatly
> appreciated.

> Additionally, if I am making any invalid assumptions or if anything I've
> described conflicts with the intended use of these APIs/extensions,
> please let me know.

> Thanks,
> -Frank
Re: XML Editor + Schema Validation question [message #662733 is a reply to message #192337] Thu, 31 March 2011 13:11 Go to previous messageGo to next message
Eclipse UserFriend
I have exactly the same problem. Is there something new ?

[Updated on: Thu, 31 March 2011 13:11] by Moderator

Re: XML Editor + Schema Validation question [message #662984 is a reply to message #662733] Fri, 01 April 2011 14:00 Go to previous message
Eclipse UserFriend
Arise, thread, arise!

No, it's true that there are assumptions lurking in there that the 'thing' getting validated is in an IFile. It's one more wrinkle to the problem we're working on fixing with bug 337132.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=337132
Previous Topic:xpath expression could not find function matches
Next Topic:How to modify catalina.properties
Goto Forum:
  


Current Time: Mon Jul 07 10:46:49 EDT 2025

Powered by FUDForum. Page generated in 0.04871 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top