Complement the XmlEditor Addin that comes with SharpDevelop IDE([url removed, login to view]) with a SecondaryDisplayBindingGrid with the features found in (clone) the Altova XMLSpy Grid View ([url removed, login to view]). You can use eXMLGrid component from Exontrol([url removed, login to view]). SharpDevelop is an open source project and has a lot of documentation, base classes, abstract classes, interfaces and some examples of how to bind new views with addins.
2. Commands to be Implemented:
Above, I will try to show in details the commands that must be implemented according to XMLSpy Menu. These are the minimum set of commands that I need. If the eXMLGrid component offers some more commands that are easy to be implemented, they will be wellcome:
File: New, Open, Reload, Encoding, Close, Save, Save As, Print, Print Preview (Almost all of them are already implemented in #Develop. Only Encoding, Print and Print Preview need special attention because of the options. There is a tool for Print and Print Preview in eXNLGrid component).
Edit: Undo, Redo, Cut, Copy, Paste, Delete, Copy as XMLText, Copy as Structured Text, Copy XPath, Select All, Find, Find Next and Replace are also needed.
XML: Insert, Append, Add Child and Convert to all sub options: Element, Attribute, Text, etc... Table Commands -> Display as Table, Insert and Append Row and Sorts Rows would be very apreciate, but perhaps it will not be possible, because I think eXMLGrid component does not have this option. Move left, Move Right, Check Well-formedness, and Validate commands also needed to be implemented.
DTD/Schema: Only Assign Schema command.
View: Only Expand, Collapse, Expand Fully, Collapse unselected and Optimal widths must be implemented.
Project, Schema design, XSL/XQuery, Autentica, Convert, Browser, WSDL, SOAP, Tools, Windows and Help: Nothing
SharpDevelop has a very good implementation of Options. For this addin the user must be able to select the following options (almost the same as in the XMLSpy options related to Grid View):
File: Open/New file in Grid view: Expand all lines? Validation: Validate upon opening file? Validate upon saving file? Cache Schema files in memory?
File types: Default view: Grid view or Text view
Editing: Inteligent editing (all options except the last one, Auto-complete in Text View). Default copy to clipboard in Grid View as: All
View: Only Enhanced Grid view(All), plus one more: NodeHeight
Grid fonts: For this you really don't need to implement a new User Interface. You can create a new Highlighting schema in Text Editor Highlighting Option in #Develop and use it to configurate eXMLGrid component.
Colors: Must be implemented
Schema fonts, Text fonts, Encoding, XSL and Scripting: None of them
4. Important Notes:
As expected, the XmlGridEditor you will create must work binded to a .xsd (W3C Schema) file, and offer all Intelligent Editing features such as Context-sensitive choices, all Entry helpers(editors) found in eXMLGrid Component, and Logical Drag and Drop (allows drop a node, element, attribute, etc.. only in a position that conforms with the schema). It must also work without binding any schema. In this case, of couse, without all Intelligent editing features.
You'll have to provide a smart way to use pictures(gif/jpg) and images (icones) associated with nodes. These information must be in the xsd file, perhaps as attribute.
The SecondaryDisplayBinding XmlGridEditor must perform "round-trip" with original Xml Editor. As the user changes the content in one view, the other one must be updated.
The code must be documented, written following the Best Practices, and using as much as possible the classes that already exists in SharpDevelop. All text resources must be in Sharpdevelop format. The addin must be developed using C# and .NET Framework Class Library (Don't use MSXML as in eXMLGrid samples). You can use any tools you want, but the final source must be able to be compiled in SharpDevelop. SharpDevelop Combine file also must be supplied. Deliverables include fully-tested, bug-free final addin, source files, and copyright as always.
You must have experience in .NET desktop applications, XML and specially in XSD (W3D Schema).
All communications via e-mails. Must check in at least tree times a week during the project, with project status and/or questions. You will have to send me demos (may be only dll) during the project.
Payment via escrow account.
5. Usefull Links:
Some links related to this job:
[url removed, login to view] (Details about funcionality and features)
[url removed, login to view] (XML Editor and Processors)
[url removed, login to view] (I will buy it!)
[url removed, login to view] (Download)
[url removed, login to view] (Free eBook with all informations about SharpDevelop)
[url removed, login to view] (Good work but forgot attributes)