Aangepaste formulieren maken met XML-schema creating-adaptive-forms-using-xml-schema

de Adobe adviseert gebruikend de moderne en verlengbare gegevens vangen Componenten van de Kernvoor het creëren van nieuwe Aangepaste Formsof het toevoegen van Aangepaste Forms aan de pagina's van AEM Sites. Deze componenten betekenen een aanzienlijke vooruitgang in de aanmaak van Adaptive Forms en zorgen voor indrukwekkende gebruikerservaring. In dit artikel wordt een oudere aanpak beschreven voor de auteur Adaptive Forms die gebruikmaakt van stichtingscomponenten.

Vereisten prerequisites

Wanneer u een adaptief formulier maakt met een XML-schema als formuliermodel, hebt u basiskennis van XML-schema's nodig. Bovendien wordt aangeraden de volgende inhoud vóór dit artikel te lezen.

Een XML-schema gebruiken als formuliermodel using-an-xml-schema-as-form-model

Experience Manager Forms ondersteunt het maken van een adaptief formulier met een bestaand XML-schema als formuliermodel. Dit schema van XML vertegenwoordigt de structuur waarin de gegevens door het achterste deelsysteem in uw organisatie worden geproduceerd of worden verbruikt.

De belangrijkste kenmerken van het gebruik van een XML-schema zijn:

  • De structuur van de XSD wordt weergegeven als een structuur op het tabblad Inhoudszoeker in de ontwerpmodus voor een adaptief formulier. U kunt een element slepen van de XSD-hiërarchie naar het aangepaste formulier.
  • U kunt het formulier vooraf invullen met een XML-bestand dat compatibel is met het bijbehorende schema.
  • Bij verzending worden de gegevens die de gebruiker heeft ingevoerd, verzonden als XML die op het bijbehorende schema wordt uitgelijnd.

Een XML-schema bestaat uit eenvoudige en complexe elementtypen. De elementen hebben attributen die regels aan het element toevoegen. Wanneer deze elementen en kenmerken naar een adaptief formulier worden gesleept, worden ze automatisch toegewezen aan de bijbehorende adaptieve formuliercomponent.

Deze toewijzing van XML-elementen met adaptieve formuliercomponenten is als volgt:

XML-element of -kenmerk
Aangepast formulieronderdeel
xs:string
Tekstvak
xs:boolean
Selectievakje
  • xs:unsignedInt
  • xs:xs:int
  • xs:decimal
  • Alle typen numerieke waarden
Numeriek vak
xs:date
Datumkiezer
xs:enumeration
Vervolgkeuzelijst
Elk complex-type element
Deelvenster

Voorbeeld-XML-schema sample-xml-schema

Hier is een voorbeeld van een 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
Zorg ervoor dat uw XML-schema slechts één hoofdelement heeft. Een XML-schema met meer dan één hoofdelement wordt niet ondersteund.

Speciale eigenschappen aan velden toevoegen met XML-schema adding-special-properties-to-fields-using-xml-schema

U kunt de volgende kenmerken toevoegen aan elementen van een XML-schema om speciale eigenschappen toe te voegen aan de velden van het gekoppelde adaptieve formulier.

Schema, eigenschap
Gebruik in adaptieve vorm
Ondersteund in
use=required
Merkt een verplicht gebied
Kenmerk
default="default value"
Hiermee wordt een standaardwaarde toegevoegd
Element en kenmerk
minOccurs="3"

Geeft minimale voorvallen op

(Voor herhaalbare subformulieren (complexe typen))

Element (complex type)
maxOccurs="10"

Hiermee worden de maximale voorvallen opgegeven

(Voor herhaalbare subformulieren (complexe typen))

Element (complex type)
NOTE
Wanneer u een schema-element naar een adaptief formulier sleept, wordt een standaardbijschrift gegenereerd door:
  • Het eerste teken van de elementnaam omzetten in hoofdletters
  • Witruimte invoegen bij grenzen van camelhoofdletters.
Als u bijvoorbeeld het schema-element userFirstName toevoegt, wordt het bijschrift dat in het adaptieve formulier wordt gegenereerd, ingesteld op User First Name .

Acceptabele waarden voor een adaptieve formuliercomponent beperken limit-acceptable-values-for-an-adaptive-form-component

U kunt de volgende beperkingen toevoegen aan elementen van het XML-schema om de waarden te beperken die acceptabel zijn voor een adaptieve formuliercomponent:

Schema, eigenschap
Gegevenstype
Beschrijving
Component
totalDigits
String
Hiermee wordt het maximale aantal cijfers opgegeven dat in een component is toegestaan. Het opgegeven aantal cijfers moet groter zijn dan nul.
  • Numeriek vak
  • Numerieke stap
maximum
String
Hiermee geeft u de bovengrens voor numerieke waarden en datums op. Standaard wordt de maximumwaarde opgenomen.
  • Numeriek vak
  • Numerieke stap
  • Datumkiezer
minimum
String
Hiermee geeft u de ondergrens voor numerieke waarden en datums op. Standaard wordt de minimumwaarde opgenomen.
  • Numeriek vak
  • Numerieke stap
  • Datumkiezer
exclusiveMaximum
Boolean

Indien waar (true), moet de numerieke waarde of datum die in de component van het formulier is opgegeven, kleiner zijn dan de numerieke waarde of datum die voor de eigenschap maximum is opgegeven.

Indien onwaar, moet de numerieke waarde of datum die in de component van de vorm wordt gespecificeerd minder dan of gelijk aan de numerieke waarde of de datum zijn die voor het maximumbezit wordt gespecificeerd.

  • Numeriek vak
  • Numerieke stap
  • Datumkiezer
exclusiveMinimum
Boolean

Indien waar (true), moet de numerieke waarde of datum die in de component van het formulier is opgegeven, groter zijn dan de numerieke waarde of datum die voor de eigenschap minimum is opgegeven.

Indien onwaar, moet de numerieke waarde of datum die in de component van de vorm wordt gespecificeerd groter zijn dan of gelijk aan de numerieke waarde of de datum die voor het minimumbezit wordt gespecificeerd.

  • Numeriek vak
  • Numerieke stap
  • Datumkiezer
minLength
String
Hiermee wordt het minimale aantal tekens opgegeven dat in een component is toegestaan. De minimumlengte moet gelijk zijn aan of groter zijn dan nul.
  • Tekstvak
maxLength
String
Hiermee wordt het maximale aantal tekens opgegeven dat in een component is toegestaan. De maximumlengte moet groter zijn dan nul.
  • Tekstvak
length
String
Hiermee wordt het exacte aantal tekens opgegeven dat in een component is toegestaan. De lengte moet gelijk zijn aan of groter zijn dan nul.
  • Tekstvak
fractionDigits
String
Hiermee wordt het maximale aantal decimalen opgegeven dat in een component is toegestaan. De fractionDigits moet gelijk zijn aan of groter dan nul.
  • Numeriek vak met gegevenstype zwevend of decimaal
pattern
String

Hiermee geeft u de volgorde van de tekens op. Een component accepteert de tekens als de tekens overeenkomen met het opgegeven patroon.

De eigenschap pattern verwijst naar het validatiepatroon van de overeenkomstige adaptieve formuliercomponent.

  • Alle componenten voor adaptieve formulieren die zijn toegewezen aan een XSD-schema

Veelgestelde vragen frequently-asked-questions

hoe ik weet welk element in de boom met welk element van XML wordt geassocieerd?

Wanneer u dubbelklikt op een element in de Inhoudszoeker, wordt in een pop-upvenster een veldnaam en een eigenschap met de naam bindRef weergegeven. Deze eigenschap wijst het structuurelement toe aan het element of kenmerk in het schema.

het bindref gebied van A van een het schemaelement van XML

bindRef in het veld wordt de koppeling weergegeven tussen een structuurelement en een element of kenmerk in een schema.

NOTE
Attributen hebben een @ symbool in hun bindRef waarde om hen van elementen te onderscheiden. Bijvoorbeeld /config/projectDetails/@duration .

waarom ik niet individuele elementen van een subformulier (structuur die van om het even welk complex type wordt geproduceerd) voor herhaalbare subforms (minOccurs of maxOccurs waarden zijn groter dan 1) kan slepen?

In een herhaalbaar subformulier moet u het subformulier Voltooien gebruiken. Als u alleen selectieve velden wilt, gebruikt u de volledige structuur en verwijdert u de ongewenste velden.

ik heb een lange complexe structuur in de Vinder van de Inhoud. Hoe kan ik een specifiek element vinden?

U hebt twee opties:

  • Door de boomstructuur schuiven
  • Gebruik het vak Zoeken om een element te zoeken

wat is een bindRef?

A bindRef is de verbinding tussen een adaptieve formuliercomponent en een schema-element of -kenmerk. De waarde die wordt vastgelegd vanuit deze component of dit veld, wordt voorgeschreven in de XPath waar de waarde beschikbaar is in de uitvoer-XML. A bindRef wordt ook gebruikt wanneer het prepopuleren van een gebiedswaarde van vooraf ingevulde (vooraf ingevulde) XML.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2