Creación de formularios adaptables mediante el esquema XML

Requisitos previos

La creación de un formulario adaptable utilizando un esquema XML como modelo de formulario requiere una comprensión básica de los esquemas XML. Además, se recomienda leer el siguiente contenido antes de este artículo.

Uso de un esquema XML como modelo de formulario

Experience Manager Forms admite la creación de un formulario adaptable utilizando un esquema XML existente como modelo de formulario. Este esquema XML representa la estructura en la que el sistema back-end de su organización produce o consume datos.

Las características clave del uso de un esquema XML son:

  • La estructura del XSD se muestra como un árbol en la pestaña Buscador de contenido en el modo de creación de un formulario adaptable. Puede arrastrar y agregar un elemento de la jerarquía XSD al formulario adaptable.
  • Puede rellenar previamente el formulario utilizando XML que cumpla con el esquema asociado.
  • Al realizar el envío, los datos introducidos por el usuario se envían como XML que se ajusta al esquema asociado.

Un esquema XML consta de tipos de elementos simples y complejos. Los elementos tienen atributos que agregan reglas al elemento. Cuando estos elementos y atributos se arrastran a un formulario adaptable, se asignan automáticamente al componente de formulario adaptable correspondiente.

Esta asignación de elementos XML con componentes de formulario adaptables es la siguiente:

Elemento o atributo XML Componente de formulario adaptable
xs:string Cuadro de texto
xs:boolean Casilla de verificación
  • xs:unsignedInt
  • xs:xs:int
  • xs:decimal
  • Todos los tipos de valores numéricos
Cuadro numérico
xs:date Selector de fecha
xs:enumeration Desplegable
Cualquier elemento de tipo complejo Panel

Esquema XML de ejemplo

Este es un ejemplo de 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>
NOTA

Asegúrese de que el esquema XML tenga solo un elemento raíz. No se admite un esquema XML con más de un elemento raíz.

Adición de propiedades especiales a campos mediante el esquema XML

Puede añadir los siguientes atributos a los elementos del esquema XML para añadir propiedades especiales a los campos del formulario adaptable asociado.

Propiedad Schema Uso en forma adaptable Admitido en
use=required Marca un campo obligatorio
Atributo
default="default value" Agrega un valor predeterminado Elemento y atributo
minOccurs="3"

Especifica ocurrencias mínimas

(Para subformularios repetibles (tipos complejos))

Elemento (tipo complejo)
maxOccurs="10"

Especifica el número máximo de incidencias

(Para subformularios repetibles (tipos complejos))

Elemento (tipo complejo)
NOTA

Al arrastrar un elemento de esquema a un formulario adaptable, se genera un rótulo predeterminado mediante:

  • Poner en mayúscula el primer carácter del nombre del elemento
  • Inserción de espacio en blanco en los límites del Camel Case.

Por ejemplo, si agrega el elemento de esquema userFirstName , el rótulo generado en el formulario adaptable es User First Name.

Límite de valores aceptables para un componente de formulario adaptable

Puede añadir las siguientes restricciones a los elementos de esquema XML para limitar los valores aceptables para un componente de formulario adaptable:

Propiedad Schema

Tipo de datos

Descripción

Componente

totalDigits

Cadena

Especifica el número máximo de dígitos permitidos en un componente. El número de dígitos especificado debe ser bueno a cero.

  • Cuadro numérico
  • Stepper numérico

maximum

Cadena

Especifica el límite superior de los valores numéricos y las fechas. De forma predeterminada, se incluye el valor máximo.

  • Cuadro numérico
  • Stepper numérico
  • Selector de fecha

minimum

Cadena

Especifica el límite inferior de valores numéricos y fechas. De forma predeterminada, se incluye el valor mínimo.

  • Cuadro numérico
  • Stepper numérico
  • Selector de fecha

exclusiveMaximum

Booleano

Si es true, el valor numérico o la fecha especificados en el componente del formulario deben ser menores que el valor numérico o la fecha especificados para la propiedad máxima.

Si es false, el valor numérico o la fecha especificados en el componente del formulario deben ser menores o iguales que el valor numérico o la fecha especificados para la propiedad maximum.

  • Cuadro numérico
  • Stepper numérico
  • Selector de fecha

exclusiveMinimum

Booleano

Si es true, el valor numérico o la fecha especificados en el componente del formulario deben ser buenos que el valor numérico o la fecha especificados para la propiedad Minimum.

Si es false, el valor numérico o la fecha especificados en el componente del formulario deben ser buenos o iguales al valor numérico o la fecha especificados para la propiedad Minimum.

  • Cuadro numérico
  • Stepper numérico
  • Selector de fecha

minLength

Cadena

Especifica el número mínimo de caracteres permitidos en un componente. La longitud mínima debe ser igual o buena que cero.

  • Cuadro de texto

maxLength

Cadena

Especifica el número máximo de caracteres permitidos en un componente. La longitud máxima debe ser buena a cero.

  • Cuadro de texto

length

Cadena

Especifica el número exacto de caracteres permitidos en un componente. La longitud debe ser igual o buena que cero.

  • Cuadro de texto

fractionDigits

Cadena

Especifica el número máximo de decimales permitido en un componente. fractionDigits debe ser igual o bueno que cero.

  • Cuadro numérico con tipo de datos flotante o decimal

pattern

Cadena

Especifica la secuencia de los caracteres. Un componente acepta los caracteres si se ajustan al patrón especificado.

La propiedad pattern se asigna al patrón de validación del componente de formulario adaptable correspondiente.

  • Todos los componentes de formularios adaptables asignados a un esquema XSD

Preguntas frecuentes

¿Cómo sé qué elemento del árbol está asociado con qué elemento XML?

Al hacer doble clic en un elemento del Buscador de contenido, una ventana emergente muestra un nombre de campo y una propiedad denominada bindRef. Esta propiedad asigna el elemento de árbol al elemento o atributo del esquema.

Campo bindref de un elemento de esquema XML

El campo bindRef muestra la asociación entre un elemento de árbol y un elemento o atributo de un esquema.

NOTA

Los atributos tienen un símbolo @ en su valor bindRefpara distinguirlos de los elementos. Por ejemplo, /config/projectDetails/@duration.

¿Por qué no puedo arrastrar elementos individuales de un subformulario (estructura generada a partir de cualquier tipo complejo) para subformularios repetibles (los valores minOccours o maxOccurs son buenos a 1)?

En un subformulario repetible, debe utilizar el subformulario Complete . Si solo desea campos selectivos, utilice toda la estructura y elimine los no deseados.

Tengo una estructura compleja y larga en el Buscador de Contenido. ¿Cómo puedo encontrar un elemento específico?

Tiene dos opciones:

  • Desplácese por la estructura de árbol
  • Utilice el cuadro Buscar para buscar un elemento

¿Qué es bindRef?

Una bindRef es la conexión entre un componente de formulario adaptable y un elemento o atributo de esquema. Indica el XPath donde el valor capturado de este componente o campo está disponible en el XML de salida. También se utiliza un bindRefcuando se rellena previamente un valor de campo del XML prerellenado (prerellenado).

En esta página