Criação de formulários adaptáveis usando o esquema XML creating-adaptive-forms-using-xml-schema
O Adobe recomenda o uso de Componentes principaisde captura de dados moderna e extensível para criar um novo Forms Adaptávelou adicionar o Forms Adaptável às páginas do AEM Sites. Esses componentes representam um avanço significativo na criação do Forms adaptável, garantindo experiências de usuário impressionantes. Este artigo descreve a abordagem mais antiga para criar o Forms adaptável usando componentes de base.
Pré-requisitos prerequisites
A criação de um formulário adaptável usando um esquema XML como modelo de formulário requer compreensão básica de esquemas XML. Além disso, é recomendável ler o conteúdo a seguir antes deste artigo.
Usando um esquema XML como modelo de formulário using-an-xml-schema-as-form-model
Experience Manager Forms dá suporte à criação de um formulário adaptável usando um esquema XML existente como modelo de formulário. Esse esquema XML representa a estrutura em que os dados são produzidos ou consumidos pelo sistema de back-end em sua organização.
Os principais recursos do uso de um esquema XML são:
- A estrutura do XSD é exibida como uma árvore na guia Localizador de conteúdo no modo de criação de um formulário adaptável. Você pode arrastar e adicionar elemento da hierarquia XSD ao formulário adaptável.
- Você pode preencher previamente o formulário usando um XML compatível com o esquema associado.
- No envio, os dados inseridos pelo usuário são enviados como XML que se alinha ao schema associado.
Um esquema XML consiste em tipos de elementos simples e complexos. Os elementos têm atributos que adicionam regras ao elemento. Quando esses elementos e atributos são arrastados para um formulário adaptável, eles são mapeados automaticamente para o componente de formulário adaptável correspondente.
Esse mapeamento de elementos XML com componentes de formulário adaptáveis é o seguinte:
Exemplo de esquema XML sample-xml-schema
Este é um exemplo de um esquema XML.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="https://adobe.com/sample.xsd"
xmlns="https://adobe.com/sample.xsd"
xmlns:xs="https://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>
Adição de propriedades especiais a campos usando o esquema XML adding-special-properties-to-fields-using-xml-schema
Você pode adicionar os seguintes atributos aos elementos do Esquema XML para adicionar propriedades especiais aos campos do formulário adaptável associado.
- Colocar o primeiro caractere do nome do elemento em maiúsculas
- Inserção de espaço em branco nos limites do Camel Case.
userFirstName
, a legenda gerada no formulário adaptável será User First Name
.Limitar valores aceitáveis para um componente de formulário adaptável limit-acceptable-values-for-an-adaptive-form-component
Você pode adicionar as seguintes restrições aos elementos do esquema XML para limitar os valores aceitáveis para um componente de formulário adaptável:
Perguntas frequentes frequently-asked-questions
Como sei qual elemento na árvore está associado a qual elemento XML?
Ao clicar duas vezes em um elemento no Localizador de conteúdo, uma janela pop-up exibe um nome de campo e uma propriedade chamada bindRef
. Essa propriedade mapeia o elemento de árvore para o elemento ou atributo no esquema.
O bindRef
o campo mostra a associação entre um elemento de árvore e um elemento ou atributo em um esquema.
@
em seu valor bindRef
para diferenciá-los dos elementos. Por exemplo, /config/projectDetails/@duration
.Por que não consigo arrastar elementos individuais de um subformulário (estrutura gerada de qualquer tipo complexo) para subformulários repetíveis (valores minOccours ou maxOccurs são maiores que 1)?
Em um subformulário repetível, você deve usar o subformulário Concluído. Se desejar apenas campos seletivos, use a estrutura inteira e exclua os indesejados.
Tenho uma estrutura complexa longa no Localizador de Conteúdo. Como posso encontrar um elemento específico?
Você tem duas opções:
- Rolar pela estrutura de árvore
- Use a caixa Pesquisar para localizar um elemento
O que é um bindRef?
bindRef
é a conexão entre um componente de formulário adaptável e um elemento ou atributo de esquema. Ele determina o XPath
onde o valor capturado deste componente ou campo está disponível no XML de saída. Um bindRef
também é usado ao preencher previamente um valor de campo de XML preenchido (preenchido previamente).