Adaptive Formulare mithilfe des XML-Schemas erstellen creating-adaptive-forms-using-xml-schema

CAUTION
AEM 6.4 hat das Ende der erweiterten Unterstützung erreicht und diese Dokumentation wird nicht mehr aktualisiert. Weitere Informationen finden Sie in unserer technische Unterstützung. Unterstützte Versionen suchen here.

Voraussetzungen prerequisites

Die Erstellung eines adaptiven Formulars mit einem XML-Schema als Formularmodell erfordert grundlegende Kenntnisse zu XML-Schemata. Außerdem wird empfohlen, folgenden Inhalt vor diesem Artikel durchzulesen.

Verwenden eines XML-Schemas als Formularmodell using-an-xml-schema-as-form-model

AEM Forms unterstützt die Erstellung eines adaptiven Formulars mithilfe eines vorhandenen XML-Schemas als Formularmodell. Dieses XML-Schema stellt die Struktur dar, in der Daten vom Back-End-System in Ihrem Unternehmen produziert oder genutzt werden.

Die wichtigsten Funktionen bei der Verwendung eines XML-Schemas sind:

  • Die Struktur der XSD wird als Struktur auf der Registerkarte "Content Finder"im Authoring-Modus für ein adaptives Formular angezeigt. Sie können Elemente aus der XSD-Hierarchie in das adaptive Formular ziehen und hinzufügen.
  • Sie können das Formular mit XML vorab ausfüllen, das mit dem zugehörigen Schema konform ist.
  • Bei der Übermittlung werden die vom Benutzer eingegebenen Daten als XML gesendet, die 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 adaptiven Formularkomponenten lautet wie folgt:

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
Jedes Element vom Typ "Komplex"
Bedienfeld

Beispiel-XML-Schema sample-xml-schema

Hier ist ein Beispiel für ein XML-Schema.

<?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>
NOTE
Stellen Sie sicher, dass Ihr XML-Schema nur ein Stammelement enthält. Ein XML-Schema mit mehr als einem Stammelement wird nicht unterstützt.

Hinzufügen spezieller Eigenschaften zu Feldern mithilfe eines XML-Schemas adding-special-properties-to-fields-using-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 Feld als 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)
NOTE
Wenn Sie ein Schemaelement in ein adaptives Formular ziehen, wird eine Standardbeschriftung wie folgt generiert:
  • Großschreibung des ersten Zeichens des Elementnamens
  • Einfügen von Leerzeichen bei Binnenmajuskeln.
Wenn Sie beispielsweise das Schemaelement userFirstName hinzufügen, wird User First Name als Beschriftung im adaptiven Formular erstellt.

Einschränken der gültigen Werte für eine Komponente eines adaptiven Formulars limit-acceptable-values-for-an-adaptive-form-component

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
Gibt die maximal zulässige Anzahl von Stellen in einer Komponente an. Die angegebene Anzahl von Ziffern 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 Maximalwert 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 bzw. das in der Komponente des Formulars angegeben wird, kleiner als der numerische Wert oder das Datum sein, der bzw. das für die Eigenschaft "maximum"angegeben ist.

Bei "false"muss der numerische Wert oder das Datum, der bzw. das in der Komponente des Formulars angegeben wird, kleiner oder gleich dem numerischen Wert oder Datum sein, der bzw. das für die Eigenschaft "maximum"angegeben ist.

  • Numerisches Feld
  • Numerische Schritte
  • Datumsauswahl
exclusiveMinimum
Boolesch

Wenn "true", muss der in der Komponente des Formulars angegebene numerische Wert oder das Datum größer sein als der numerische Wert oder das Datum, der bzw. das für die Eigenschaft "minimum"angegeben wurde.

Bei "false"muss der in der Komponente des Formulars angegebene numerische Wert oder das Datum größer oder gleich dem numerischen Wert oder Datum sein, der bzw. das für die Eigenschaft "minimum"angegeben wurde.

  • Numerisches Feld
  • Numerische Schritte
  • Datumsauswahl
minLength
Zeichenfolge
Gibt die Mindestanzahl von Zeichen an, die in einer Komponente zulässig sind. Die minimale Länge muss größer oder gleich null sein.
  • Textfeld
maxLength
Zeichenfolge
Gibt die maximal zulässige Anzahl von Zeichen in einer Komponente an. Die maximale Länge muss größer als null sein.
  • Textfeld
length
Zeichenfolge
Gibt die genaue Anzahl der Zeichen an, die in einer Komponente zulässig sind. Die Länge muss größer oder gleich null sein.
  • Textfeld
fractionDigits
Zeichenfolge
Gibt die maximal zulässige Anzahl von Dezimalstellen in einer Komponente an. Die fractionDigits müssen größer/gleich null sein.
  • Numerisches Feld mit Datentyp „Gleitkomma“ oder „Dezimal“.
pattern
Zeichenfolge

Gibt die Reihenfolge der Zeichen an. Eine Komponente akzeptiert die Zeichen, wenn die Zeichen dem angegebenen Muster entsprechen.

Die pattern-Eigenschaft wird dem Überprüfungsmuster der entsprechenden adaptiven Formularkomponente zugeordnet.

  • Alle adaptiven Formulare, die einem XSD-Schema zugeordnet sind

Häufig gestellte Fragen frequently-asked-questions

Woher weiß ich, welches Element im Baum mit welchem XML-Element verknüpft ist?

Wenn Sie in der Inhaltssuche auf ein Element doppelklicken, wird in einem Popup-Fenster ein Feldname und eine Eigenschaft mit dem Namen bindRef. Diese Eigenschaft ordnet das Baumstrukturelement dem Element oder Attribut im Schema zu.

Ein bindref-Feld eines XML-Schemaelements

Das Feld bindRef zeigt die Verknüpfung zwischen einem Element der Baumstruktur und einem Element oder Attribut in einem Schema an.

NOTE
Attribute weisen ein @-Symbol in ihrem bindRef-Wert auf, wodurch sie von Elementen unterschieden werden können. 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 „minOccurs“ oder „maxOccurs“ ist größer als 1)?

In einem wiederholbaren Teilformular müssen Sie das vollständige Teilformular verwenden. Wenn Sie nur einzelne Felder nutzen möchten, verwenden Sie die gesamte Struktur und löschen Sie unerwünschte Felder.

Ich habe eine lange komplexe Struktur in der Inhaltssuche. Wie finde ich ein bestimmtes Element?

Sie haben zwei Optionen:

  • Scrollen 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 bindRefwird auch verwendet, wenn ein Feldwert aus (vorausgefüllter) XML im Voraus gefüllt wird.

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da