Vizualizați conținut de ajutor pentru versiunea:

Prerequisites

Authoring an adaptive form using an XML schema as its form model requires basic understanding of XML schemas. Also, it is recommended to read through the following content before this article.

Using an XML schema as form model

AEM Forms supports creation of an adaptive form by using an existing XML schema as the form model. This XML schema represents the structure in which data is produced or consumed by the back-end system in your organization.

The key features of using an XML schema are:

  • The structure of the XSD is displayed as a tree in the Content Finder tab in the authoring mode for an adaptive form. You can drag and add element from the XSD hierarchy to the adaptive form.
  • You can pre-populate the form using XML that is compliant with the associated schema.
  • On submission, the data entered by the user is submitted as XML that aligns with the associated schema.

An XML schema consists of simple and complex element types. The elements have attributes that add rules to the element. When these elements and attributes are dragged onto an adaptive form, they are automatically mapped to the corresponding adaptive form component.

This mapping of XML elements with adaptive form components is as follows:

XML element or attribute  Adaptive form component
xs:string Text box
xs:boolean Check box
  • xs:unsignedInt
  • xs:xs:int
  • xs:decimal
  • All types of numerical values
Numeric box
xs:date Date picker
xs:enumeration
Drop down
Any complex-type element Panel

Sample XML Schema

Here's an example of an XML schema.

<?xml version="1.0" encoding="utf-8" ?> 
    <xs:schema targetNamespace="http://adobe.com/sample.xsd"
                    xmlns="http://adobe.com/sample.xsd"
                    xmlns:xs="http://www.w3.org/2001/XMLSchema"
                >

        <xs:element name="sample" type="SampleType"/>
        
        <xs:complexType name="SampleType">
            <xs:sequence>
                <xs:element name="leaderName" type="xs:string" default="Enter Name"/>
                <xs:element name="assignmentStartBirth" type="xs:date"/>
                <xs:element name="gender" type="GenderEnum"/>
                <xs:element name="noOfProjectsAssigned" type="IntType"/>
                <xs:element name="assignmentDetails" type="AssignmentDetails" 
                                            minOccurs="0" maxOccurs="10"/>
            </xs:sequence>
        </xs:complexType>

        <xs:complexType name="AssignmentDetails">
            <xs:attribute name="name" type="xs:string" use="required"/>
            <xs:attribute name="durationOfAssignment" type="xs:unsignedInt" use="required"/>
            <xs:attribute name="numberOfMentees" type="xs:unsignedInt" use="required"/>
             <xs:attribute name="descriptionOfAssignment" type="xs:string" use="required"/>
             <xs:attribute name="financeRelatedProject" type="xs:boolean"/>
       </xs:complexType>
		<xs:simpleType name="IntType">
            <xs:restriction base="xs:int">
            </xs:restriction>
        </xs:simpleType>
		<xs:simpleType name="GenderEnum">
            <xs:restriction base="xs:string">
                <xs:enumeration value="Female"/>
                <xs:enumeration value="Male"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:schema>

Notă:

Ensure that your XML schema has only one root element. An XML schema with more than one root element is not supported. 

Adding special properties to fields using XML schema

You can add the following attributes to XML Schema elements to add special properties to the fields of the associated adaptive form.

Schema property Use in adaptive form Supported in 
use=required  Marks a field mandatory
Attribute
default="default value" Adds a default value Element and attribute
minOccurs="3"

Specifies minimum occurrences

(For repeatable subforms (complex types))

Element (complex type)
maxOccurs="10"

Specifies maximum occurrences

(For repeatable subforms (complex types))

Element (complex type)

Notă:

When you drag a schema element to an adaptive form, a default caption is generated by:

  • Capitalizing the first character of the element name
  • Inserting white space at Camel Case boundaries.

For example, if you add the userFirstName schema element, the caption generated in the adaptive form is User First Name.

Frequently asked questions

How do I know which element in the tree is associated with which XML element?

When you double-click an element in Content Finder, a pop-up displays a field name and a property called bindRef. This property maps the tree element to the element or attribute in the schema.

A bindref field of an XML schema element
The <code>bindRef</code> field shows the association between a tree element and an element or attribute in a schema.

Notă:

Attributes have an @ symbol in their bindRef value to distinguish them from elements. For example,  /config/projectDetails/@duration.

Why I am not able to drag individual elements of a subform (structure generated from any complex type) for repeatable subforms (minOccours or maxOccurs values are greater than 1)?

In a repeatable subform, you must use the complete subform. If you want only selective fields, use the entire structure and delete the unwanted ones.

I have a long complex structure in Content Finder. How can I find a specific element?

You have two options:

  • Scroll through the tree structure
  • Use the Search box to find an element

What is a bindRef?

A bindRef is  the connection between an adaptive form component and a schema element or attribute. It dictates the XPath where the value captured from this component or field is available in the output XML. A bindRef is also used when prepopulating a field value from prefilled (prepopulated) XML.

Această lucrare este oferită sub licență Atribuire-Necomercial-FărăModificări 3.0 Ne-adaptată Creative Commons  Postările pe Twitter™ şi Facebook nu sunt acoperite de condiţiile de licenţiere Creative Commons.

Prevederi legale   |   Politică de confidențialitate online