Show Menu
THEMEN×

Adaptive Formulare mithilfe des XML-Schemas erstellen

Voraussetzungen

Für das Authoring eines adaptiven Formulars mit einem XML-Schema als Formularmodell sind grundlegende Kenntnisse zu XML-Schemata erforderlich. Außerdem wird empfohlen, den folgenden Inhalt vor diesem Artikel durchzulesen.

Verwenden eines XML-Schemas als Formularmodell

AEM Forms unterstützt die Erstellung eines adaptiven Formulars mit einem vorhandenen XML-Schema als Formularmodell. Dieses XML-Schema stellt die Struktur dar, in der Daten vom Back-End-System in Ihrem Unternehmen produziert oder genutzt werden.
Die Hauptfunktionen bei der Verwendung eines XML-Schemas sind die Folgenden:
  • Die Struktur der XSD wird als Baumstruktur in der Registerkarte für die Inhaltssuche im Authoring-Modus für ein adaptives Formular angezeigt. Sie können Elemente aus der XSD-Hierarchie in das adaptive Formular ziehen.
  • Sie können das Formular mit XML vorausfüllen, die mit dem zugehörigen Schema konform ist.
  • Bei der Übermittlung werden die vom Benutzer eingegebenen Daten im XML-Format gesendet, das dem zugehörigen Schema entspricht.
Ein XML-Schema besteht aus einfachen und komplexen Elementtypen. Die Elemente weisen Attribute auf, die dem Element Regeln hinzufügen. Wenn diese Elemente und Attribute in ein adaptives Formular gezogen werden, werden sie automatisch der entsprechenden Komponente des adaptiven Formulars zugeordnet.
Diese Zuordnung von XML-Elementen zu Komponenten adaptiver Formulare sieht wie folgt aus:
XML-Element oder -Attribut Komponente des adaptiven Formulars
xs:string Textfeld
xs:boolean Kontrollkästchen
  • xs:unsignedInt
  • xs:xs:int
  • xs:decimal
  • Alle Typen numerischer Werte
Numerisches Feld
xs:date Datumsauswahl
xs:enumeration Dropdown-Liste
Jedes Element mit komplexem Typ Fenster

Beispiel-XML-Schema

Im Folgenden finden Sie ein Beispiel eines XML-Schemas.
<?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>

Stellen Sie sicher, dass das XML-Schema nur ein Stammelement hat. Ein XML-Schema mit mehreren Stammelementen wird nicht unterstützt.

Hinzufügen von speziellen Eigenschaften zu Feldern mit dem XML-Schema

Sie können die folgenden Attribute zu XML-Schemaelementen hinzufügen, um spezielle Eigenschaften zu den Feldern des zugehörigen adaptiven Formulars hinzuzufügen.
Schemaeigenschaft Verwendung im adaptiven Formular Unterstützt in
use=required Markiert ein Pflichtfeld Attribut
default="default value" Fügt einen Standardwert hinzu Element und Attribut
minOccurs="3"
Gibt minimale Vorkommen an
(Für wiederholbare Teilformulare (komplexe Typen))
Element (komplexer Typ)
maxOccurs="10"
Gibt maximale Vorkommen an
(Für wiederholbare Teilformulare (komplexe Typen))
Element (komplexer Typ)
Wenn Sie ein Schemaelement in ein adaptives Formular ziehen, wird eine Standardbeschreibung erstellt durch:
  • Großschreibung des ersten Zeichens des Elementnamens
  • Einfügen eines Leerzeichens bei Binnenmajuskeln.
For example, if you add the userFirstName schema element, the caption generated in the adaptive form is User First Name .

Einschränken der gültigen Werte für eine Komponente eines adaptiven Formulars

Sie können die folgenden Einschränkungen zu XML-Schemaelementen hinzufügen, um die Werte zu beschränken, die für eine Komponente eines adaptiven Formulars gültig sind:
Schemaeigenschaft
Datentyp
Beschreibung
Komponente
totalDigits
Zeichenfolge
Legt die zulässige Höchstzahl von Stellen in einer Komponente fest. Die Anzahl der Stellen muss größer als null sein.
  • Numerisches Feld
  • Numerische Schritte
maximum
Zeichenfolge
Gibt die Obergrenze für numerische Werte und Daten an. Standardmäßig ist der Höchstwert enthalten.
  • Numerisches Feld
  • Numerische Schritte
  • Datumsauswahl
minimum
Zeichenfolge
Gibt die Untergrenze für numerische Werte und Daten an. Standardmäßig ist der Mindestwert enthalten.
  • Numerisches Feld
  • Numerische Schritte
  • Datumsauswahl
exclusiveMaximum
Boolesch
Wenn „true“, muss der numerische Wert oder das Datum, der/das in der Komponente des Formulars festgelegt ist, kleiner sein als der numerische Wert oder das Datum, der/das für die Eigenschaft „maximum“ angegeben ist.
Wenn „false“, muss der numerische Wert oder das Datum, der/das in der Komponente des Formulars festgelegt ist, kleiner oder gleich dem numerischen Wert oder Datum sein, der/das für die Eigenschaft „maximum“ angegeben ist.
  • Numerisches Feld
  • Numerische Schritte
  • Datumsauswahl
exclusiveMinimum
Boolesch
Wenn „true“, muss der numerische Wert oder das Datum, der/das in der Komponente des Formulars festgelegt ist, größer sein als der numerische Wert oder das Datum, der/das für die Eigenschaft „minimum“ angegeben ist.
Wenn „false“, muss der numerische Wert oder das Datum, der/das in der Komponente des Formulars festgelegt ist, größer oder gleich dem numerischen Wert oder Datum sein, der/das für die Eigenschaft „minimum“ angegeben ist.
  • Numerisches Feld
  • Numerische Schritte
  • Datumsauswahl
minLength
Zeichenfolge
Legt die zulässige Mindestanzahl von Zeichen in einer Komponente fest. Die minimale Länge muss größer oder gleich Null sein.
  • Textfeld
maxLength
Zeichenfolge
Legt die zulässige Höchstzahl von Zeichen in einer Komponente fest. Der segmentNum-Parameter muss größer als null sein.
  • Textfeld
length
Zeichenfolge
Legt die genaue Anzahl von Zeichen in einer Komponente fest. Die Länge muss größer oder gleich null sein.
  • Textfeld
fractionDigits
Zeichenfolge
Legt die zulässige Höchstzahl von Dezimalstellen in einer Komponente fest. fractionDigits muss größer oder gleich null sein.
  • Numerisches Feld mit Datentyp float oder decimal
pattern
Zeichenfolge
Legt die Reihenfolge der Zeichen fest. Eine Komponente akzeptiert die Zeichen, wenn sie dem angegebenen Muster entsprechen.
Die Eigenschaft „pattern“ ist dem Überprüfungsmuster der entsprechenden Komponente des adaptiven Formulars zugeordnet.
  • Alle adaptiven Formulare, die einem XSD-Schema zugeordnet sind

Häufig gestellte Fragen

Woher weiß ich, welches Element in der Baumstruktur mit welchem XML-Element verknüpft ist?
When you double-click an element in Content Finder, a pop-up displays a field name and a property called bindRef . Diese Eigenschaft ordnet das Baumstrukturelement dem Element oder Attribut im Schema zu.
The bindRef field shows the association between a tree element and an element or attribute in a schema.
Attributes have an @ symbol in their bindRef value to distinguish them from elements. Beispiel, /config/projectDetails/@duration .
Warum kann ich nicht einzelne Elemente eines Teilformulars (Struktur aus einem komplexen Typ generiert) für wiederholbare Teilformulare ziehen (Wert von minOccours oder maxOccurs ist größer als 1)?
In einem wiederholbaren Teilformular müssen Sie das gesamte Teilformular verwenden. Wenn Sie nur einzelne Felder möchten, verwenden Sie die gesamte Struktur und löschen Sie unerwünschte Felder.
Ich habe eine lange komplexe Struktur in der Inhaltssuche. Wie kann ich ein bestimmtes Element suchen?
Es gibt zwei Optionen:
  • Blättern Sie durch die Baumstruktur
  • Verwenden Sie das Suchfeld, um ein Element zu finden
Was ist bindRef?
bindRef ist die Verbindung zwischen einer Komponente eines adaptiven Formulars und einem Schemaelement oder -attribut. Dieses Element gibt den XPath vor, in dem der Wert, der von dieser Komponente oder diesem Feld erfasst wird, in der Ausgabe-XML verfügbar ist. Ein bindRef wird auch verwendet, wenn ein Feldwert aus vorausgefüllter XML im Voraus gefüllt wird.