On my project I am creating some custom web forms. We have a desire to create, for lack of a better term, a "compound" element. Let me try to explain:
I have a page where we will have a list of items. Each item will contain a photo, link, and some descriptive text line items.
If I were to define this as a single web form I'd create an elements area that looks like this:
<elements> <element id="leadername" description="xml.xlbl.name" type="inputfield" size="75" default="true" singleinstance="true" nodelete="true" /> <element id="image" description="xml.xlbl.image" type="imageselect" default="true" singleinstance="false" nodelete="true"/> <element id="leaderole" description="xml.xlbl.role" type="inputfield" size="100" default="true" singleinstance="true" nodelete="true" /> <element id="isexecutive" description="xml.xlbl.executive" type="checkbox" default="true" singleinstance="true" nodelete="true" /> </elements>
I realize we can do this by creating an element of each of these types and creating a template that could hold 50 or 60 of these items, but I think that's overkill. It also requires the page author to do far too much dragging and dropping.
What I'd prefer to do is create a new element that encapsulates these four fields and allows for the author to add new "leaders".
If I could wrap the four elements above inside an element, the element could be repeated and sorted so that the user gets a single form and simply adds as many leaders as they need. Just like a link list, only with these custom items.
So to that end I have the following questions:
Is this possible? If so, are there additional steps required to define this compound element?
Is there a DTD or an XML Schema for these xml documents so I can understand what I can and cannot do? If there is, where is it stored?