You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@xmlbeans.apache.org by Tim Dilks <Ti...@uk.tiscali.com> on 2008/11/03 17:08:15 UTC

Xml Element Insertion - Updating Dom Tree

I am developing an application (a bit like XmlSpy) which allows users to
load an xml file (with an 'scomp'ed schema), and will allow insertions
and data entry.

 

I have a JtreeTable which I am populating using the 

 

                  doc = xxxxDocument.Factory.parse(tempFile);

                  return (Document) doc.getDomNode();

 

When the user clicks on a node in the Jtree, a window is updated to show
the valid elements available for insert.  I have this part all working
nicely.

 

The functionality I am working on implementing now is: the user clicks
an 'add' button next to a listed element, and that element should be
inserted into the tree (and of course the underlying xml).  It would be
good to have all mandatory elements created for that inserted node as
well.

 

Any high level pointers about how best to proceed here would be much
appreciated.

 

Thanks.

 


RE: Xml Element Insertion - Updating Dom Tree

Posted by Radu Preotiuc-Pietro <ra...@oracle.com>.
I should mention that the problem of inserting the required elements may not be as easy as it looks. Suppose that you have a content model like this (in BNF notation): a|bc. Do you insert the "a" element or two elements "b" and "c"? You have no way of knowing what the user would want.
 
In any case, you will probably find it interesting to look at org.apache.xmlbeans.impl.xsd2inst.SampleXmlUtil, which is our utility for generating an XML document based on a given Schema, and also at SchemaType.getElementSequencer(), which creates a DFA based on the declared content of a complex type which you can then drive using QNames. That allows you to present the user with a list of valid elements at any given point, based on the content already in the document.
 
Hope this helps,
Radu


________________________________

	From: Cezar Andrei [mailto:cezar.andrei@oracle.com] 
	Sent: Monday, November 03, 2008 10:46 AM
	To: user@xmlbeans.apache.org
	Subject: RE: Xml Element Insertion - Updating Dom Tree
	
	

	Tim, 

	 

	A good start would be the following documentation page: http://xmlbeans.apache.org/docs/2.0.0/guide/conIntroToTheSchemaTypeSystem.html

	You should check the SchemaType interface and using getContentModel() method to check for the required particles.

	 

	Cezar

	 

	
________________________________


	From: Tim Dilks [mailto:Tim.Dilks@uk.tiscali.com] 
	Sent: Monday, November 03, 2008 10:08 AM
	To: user@xmlbeans.apache.org
	Subject: Xml Element Insertion - Updating Dom Tree

	 

	I am developing an application (a bit like XmlSpy) which allows users to load an xml file (with an 'scomp'ed schema), and will allow insertions and data entry.

	 

	I have a JtreeTable which I am populating using the 

	 

	                  doc = xxxxDocument.Factory.parse(tempFile);

	                  return (Document) doc.getDomNode();

	 

	When the user clicks on a node in the Jtree, a window is updated to show the valid elements available for insert.  I have this part all working nicely.

	 

	The functionality I am working on implementing now is: the user clicks an 'add' button next to a listed element, and that element should be inserted into the tree (and of course the underlying xml).  It would be good to have all mandatory elements created for that inserted node as well.

	 

	Any high level pointers about how best to proceed here would be much appreciated.

	 

	Thanks.

	 


RE: Xml Element Insertion - Updating Dom Tree

Posted by Cezar Andrei <ce...@oracle.com>.
Tim, 

 

A good start would be the following documentation page: http://xmlbeans.apache.org/docs/2.0.0/guide/conIntroToTheSchemaTypeSystem.html

You should check the SchemaType interface and using getContentModel() method to check for the required particles.

 

Cezar

 

________________________________

From: Tim Dilks [mailto:Tim.Dilks@uk.tiscali.com] 
Sent: Monday, November 03, 2008 10:08 AM
To: user@xmlbeans.apache.org
Subject: Xml Element Insertion - Updating Dom Tree

 

I am developing an application (a bit like XmlSpy) which allows users to load an xml file (with an 'scomp'ed schema), and will allow insertions and data entry.

 

I have a JtreeTable which I am populating using the 

 

                  doc = xxxxDocument.Factory.parse(tempFile);

                  return (Document) doc.getDomNode();

 

When the user clicks on a node in the Jtree, a window is updated to show the valid elements available for insert.  I have this part all working nicely.

 

The functionality I am working on implementing now is: the user clicks an 'add' button next to a listed element, and that element should be inserted into the tree (and of course the underlying xml).  It would be good to have all mandatory elements created for that inserted node as well.

 

Any high level pointers about how best to proceed here would be much appreciated.

 

Thanks.