Implement new field/parameter type: XML
Editing the field would either be done using a regular TextArea input, or a SummerNote control with code highlighting (if supported).
Displaying the field should be simple enough using a combination of javascript and jquery. Specifically, this should be a good starting point:
var xml = (new DOMParser()).parseFromString(xmlText,'text/xml');
It theoretically would also be possible to either make use of the jstree library, or using the built-in Bootstrap controls (such as collapsible accordion).
[ ] Check if summernote supports code highlighting for XML documents
[ ] Write function renderXML that would generate either bootstrap accordion tree, or use the jstree library.
[ ] Add field type in portal.DataViewFieldTypes
Additionally, it should be preferable to add a new field to portal.DataViewField which would be used to configure the schema for the XML object (i.e. something like XSLT).
This schema should create constraints on the manipulations a user can perform on the XML document. For example: Which elements they can add, which attributes, what values, etc.
Implement new field/parameter type: XML Editing the field would either be done using a regular TextArea input, or a SummerNote control with code highlighting (if supported).
Displaying the field should be simple enough using a combination of javascript and jquery. Specifically, this should be a good starting point:
It theoretically would also be possible to either make use of the jstree library, or using the built-in Bootstrap controls (such as collapsible accordion).
renderXML
that would generate either bootstrap accordion tree, or use the jstree library.portal.DataViewFieldTypes
Additionally, it should be preferable to add a new field to
portal.DataViewField
which would be used to configure the schema for the XML object (i.e. something like XSLT). This schema should create constraints on the manipulations a user can perform on the XML document. For example: Which elements they can add, which attributes, what values, etc.