Re: XML Tree View: Guidelines and ideas

Rich Unger <[email protected]>
Newsgroups gmane.comp.java.netbeans.user-interface
Message-ID <[email protected]>
This issue really only encompasses the adding of syntax completion to the
existing xml tree editor.  You sound like you're designing a whole new
editor.  

Are you aware that one exists already?  It's been around for a long time, but
starting with 3.5, it was no longer distributed with the base install (you
need to get it through the Update Center).  It's pretty good, you might
like it :)

Cheers,
Rich


On Wed, 21 Apr 2004 11:28:56 +1000, Hutchison, Ben wrote:

> 
> An XML Tree-view is requested in issue:
> http://xml.netbeans.org/issues/show_bug.cgi?id=14206
> 
> I think this is a big piece of functionality and it should be approached
> carefully. XML is become so widespread for Java that good XML view/editing
> will make a big improvement for IDE users, but I think its also easy to
> design an XML tree view of very limited usefulness.
> 
> 1. For me the biggest single reason for wanting a tree view is to get a
> condensed, data-oriented way to work with XML. I dont want to see or type
> end-tags, and I want as little on the screen except the data content of the
> document. 
> 
> 2. Easy editing is as important as viewing. Common actions, like
> move-current-focus, add-element, edit element, add-attribute,
> edit-attribute, move element, need to be simple and intutive for both mouse
> and (especially) keyboard users.
> 
> 3. When using a tree view, care must be taken not to make the tree consume
> too much screen space. Some XML tree designs use fixed, widely-spaced
> node-arrangements, indent and line height settings. These can leave large
> amounts of screen as useless whitespace, and  tend to flow off to the right
> and bottom of the screen for a large document. Example of this problem see
> screenshots at: http://www.xmlmind.com/xmleditor/detailed_features.html 
> Some ideas:
> * Display Attributes stacked after an element on same line, rather than
> under or 1 per line.
> * Use a small indent (ie 2 chars) by default for nesting
> * Allow user defined spacing/fonts, just like setting a text editor font
> size.
> 
> 4. The best XML editor I have yet seen is XMLSpy. May I encourage the
> developers working on XML support to download an evaluation copy and look at
> the different ways it presents XML, and innovations like the Table View, for
> editing a repetitive rectangular schema. They have done alot of smart
> thinking that we can learn from. Eg
> :http://www.altova.com/features_views.html#enhanced_grid
> 
> 5. By default, a tree view should be fully expanded, which mirrors the way a
> default text/code view is the whole document.
> 
> 6. For easy attribute navigation, creation & editing:
> * Show attributes that are allowed by not defined greyed-out at the end of
> the row. 
> * The user can hop focus between atts using Ctl-Left/Right, including the
> greyed out one. 
> * If they start typing when a greyed out one has focus, the attribute is
> automatically defined with the entered text as its value. 
> * For existing attributes, ensure the value is auto-selected when the node
> gets focus, so its can be replaced simply by typing.
> 
> Regards
> Ben
> 
> www.sensis.com.au
> 
> A leading Australian advertising, information 
> and directories business. 
> 
> www.yellowpages.com.au
> www.whitepages.com.au
> www.citysearch.com.au
> www.whereis.com.au
> www.telstra.com.au
> 
> This email and any attachments are intended only for the use of the recipient and may be confidential and/or legally privileged.
> Sensis Pty Ltd disclaims liability for any errors, omissions, viruses, loss and/or damage arising from using, opening or transmitting this email.
> If you are not the intended recipient you must not use, interfere with, disclose, copy or retain this email and you should notify the sender immediately by return email or by contacting Sensis Pty Ltd by telephone on [+61 3 9201 4888]
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
> <HTML>
> <HEAD>
> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
> <META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
> <TITLE>XML Tree View: Guidelines and ideas</TITLE>
> </HEAD>
> <BODY>
> 
> <P><FONT SIZE=2 FACE="Arial">An XML Tree-view is requested in issue: <A HREF="http://xml.netbeans.org/issues/show_bug.cgi?id=14206" TARGET="_blank">http://xml.netbeans.org/issues/show_bug.cgi?id=14206</A></FONT>
> </P>
> 
> <P><FONT SIZE=2 FACE="Arial">I think this is a big piece of functionality and it should be approached carefully. XML is become so widespread for Java that good XML view/editing will make a big improvement for IDE users, but I think its also easy to design an XML tree view of very limited usefulness.</FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">1. For me the biggest single reason for wanting a tree view is to get a condensed, data-oriented way to work with XML. I dont want to see or type end-tags, and I want as little on the screen except the data content of the document. </FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">2. Easy editing is as important as viewing. Common actions, like move-current-focus, add-element, edit element, add-attribute, edit-attribute, move element, need to be simple and intutive for both mouse and (especially) keyboard users.</FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">3. When using a tree view, care must be taken not to make the tree consume too much screen space. Some XML tree designs use fixed, widely-spaced node-arrangements, indent and line height settings. These can leave large amounts of screen as useless whitespace, and&nbsp; tend to flow off to the right and bottom of the screen for a large document. Example of this problem see screenshots at: <A HREF="http://www.xmlmind.com/xmleditor/detailed_features.html" TARGET="_blank">http://www.xmlmind.com/xmleditor/detailed_features.html</A> </FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">Some ideas:</FONT>
> <BR><FONT SIZE=2 FACE="Arial">* Display Attributes stacked after an element on same line, rather than under or 1 per line.</FONT>
> <BR><FONT SIZE=2 FACE="Arial">* Use a small indent (ie 2 chars) by default for nesting</FONT>
> <BR><FONT SIZE=2 FACE="Arial">* Allow user defined spacing/fonts, just like setting a text editor font size.</FONT>
> </P>
> 
> <P><FONT SIZE=2 FACE="Arial">4. The best XML editor I have yet seen is XMLSpy. May I encourage the developers working on XML support to download an evaluation copy and look at the different ways it presents XML, and innovations like the Table View, for editing a repetitive rectangular schema. They have done alot of smart thinking that we can learn from. Eg :<A HREF="http://www.altova.com/features_views.html#enhanced_grid" TARGET="_blank">http://www.altova.com/features_views.html#enhanced_grid</A></FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">5. By default, a tree view should be fully expanded, which mirrors the way a default text/code view is the whole document.</FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">6. For easy attribute navigation, creation &amp; editing:</FONT>
> <BR><FONT SIZE=2 FACE="Arial">* Show attributes that are allowed by not defined greyed-out at the end of the row. </FONT>
> <BR><FONT SIZE=2 FACE="Arial">* The user can hop focus between atts using Ctl-Left/Right, including the greyed out one. </FONT>
> <BR><FONT SIZE=2 FACE="Arial">* If they start typing when a greyed out one has focus, the attribute is automatically defined with the entered text as its value. </FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">* For existing attributes, ensure the value is auto-selected when the node gets focus, so its can be replaced simply by typing.</FONT></P>
> 
> <P><FONT SIZE=2 FACE="Arial">Regards</FONT>
> <BR><FONT SIZE=2 FACE="Arial">Ben</FONT>
> </P>
> 
> </BODY>
> </HTML><table><tr><td bgcolor=#ffffff><font color=#000000><pre>www.sensis.com.au
> 
> A leading Australian advertising, information 
> and directories business. 
> 
> www.yellowpages.com.au
> www.whitepages.com.au
> www.citysearch.com.au
> www.whereis.com.au
> www.telstra.com.au
> 
> This email and any attachments are intended only for the use of the recipient and may be confidential and/or legally privileged.
> Sensis Pty Ltd disclaims liability for any errors, omissions, viruses, loss and/or damage arising from using, opening or transmitting this email.
> If you are not the intended recipient you must not use, interfere with, disclose, copy or retain this email and you should notify the sender immediately by return email or by contacting Sensis Pty Ltd by telephone on [+61 3 9201 4888]
> </pre></font></td></tr></table>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.