XML 스키마를 양식 모델로 사용하여 적응형 양식을 작성하려면 XML 스키마에 대한 기본적인 이해가 필요합니다. 또한 이 아티클 이전에 다음 컨텐츠를 읽어 보는 것이 좋습니다.
AEM Forms에서는 기존 XML 스키마를 양식 모델로 사용하여 적응형 양식 작성을 지원합니다. 이 XML 스키마는 조직의 백엔드 시스템에서 데이터를 생성하거나 사용하는 구조를 나타냅니다.
XML 스키마 사용의 주요 기능은 다음과 같습니다.
XML 스키마는 간단하고 복잡한 요소 유형으로 구성됩니다. 요소에는 요소에 규칙을 추가하는 속성이 있습니다. 이러한 요소와 속성을 적응형 양식으로 드래그하면 해당 적응형 양식 구성 요소에 자동으로 매핑됩니다.
적응형 양식 구성 요소가 있는 XML 요소의 매핑은 다음과 같습니다.
XML 요소 또는 특성 | 적응형 양식 구성 요소 |
---|---|
xs:string |
텍스트 상자 |
xs:boolean |
확인란 |
|
숫자 상자 |
xs:date |
날짜 선택 |
xs:enumeration
|
드롭다운 |
모든 복합 유형 요소 | 패널 |
다음은 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>
XML 스키마에 하나의 루트 요소만 있는지 확인합니다. 둘 이상의 루트 요소가 있는 XML 스키마는 지원되지 않습니다.
XML 스키마 요소에 다음 속성을 추가하여 연결된 적응형 양식의 필드에 특수 속성을 추가할 수 있습니다.
스키마 속성 | 적응형 양식으로 사용 | 지원 대상: |
---|---|---|
use=required |
필수 필드 표시 |
특성 |
default="default value" |
기본값 추가 | 요소 및 속성 |
minOccurs="3" |
최소 발생 수를 지정합니다. (반복 가능한 하위 양식(복잡한 유형) |
요소(복잡한 유형) |
maxOccurs="10"
|
최대 발생 수 지정 (반복 가능한 하위 양식(복잡한 유형) |
요소(복잡한 유형) |
스키마 요소를 응용 양식으로 드래그하면 기본 캡션이 다음과 같이 생성됩니다.
예를 들어 userFirstName
스키마 요소를 추가하는 경우 적응형 양식에 생성된 캡션은 User First Name
입니다.
적응형 양식 구성 요소에 사용할 수 있는 값을 제한하기 위해 XML 스키마 요소에 다음 제한 사항을 추가할 수 있습니다.
스키마 속성 |
데이터 유형 |
설명 |
구성 요소 |
|
문자열 |
구성 요소에 허용되는 최대 자릿수를 지정합니다. 지정된 자릿수는 0보다 커야 합니다. |
|
|
문자열 |
숫자 값과 날짜에 대한 상한을 지정합니다. 기본적으로 최대값이 포함됩니다. |
|
|
문자열 |
숫자 값 및 날짜에 대해 하한 값을 지정합니다. 기본적으로 최소값은 포함됩니다. |
|
|
부울 |
true인 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜는 최대 속성에 대해 지정된 숫자 값 또는 날짜보다 작아야 합니다. false인 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜는 최대 속성에 대해 지정된 숫자 값 또는 날짜보다 작거나 같아야 합니다. |
|
|
부울 |
true인 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜는 최소 속성에 지정된 숫자 값 또는 날짜보다 커야 합니다. false인 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜는 최소 속성에 지정된 숫자 값 또는 날짜보다 크거나 같아야 합니다. |
|
|
문자열 |
구성 요소에 허용되는 최소 문자 수를 지정합니다. 최소 길이는 0보다 크거나 같아야 합니다. |
|
|
문자열 |
구성 요소에 허용되는 최대 문자 수를 지정합니다. 최대 길이는 0보다 커야 합니다. |
|
|
문자열 |
구성 요소에 허용되는 정확한 문자 수를 지정합니다. 길이는 0보다 크거나 같아야 합니다. |
|
|
문자열 |
구성 요소에 허용되는 최대 소수 자릿수를 지정합니다. fractionDigits는 0보다 크거나 같아야 합니다. |
|
|
문자열 |
문자 시퀀스를 지정합니다. 구성 요소는 문자가 지정된 패턴을 따르는 경우 문자를 허용합니다. 패턴 속성은 해당 적응형 양식 구성 요소의 유효성 검사 패턴에 매핑됩니다. |
|
트리의 어떤 요소가 어떤 XML 요소와 연관되어 있는지 어떻게 알 수 있습니까?
Content Finder에서 요소를 두 번 클릭하면 팝업에 필드 이름과 bindRef
속성이 표시됩니다. 이 속성은 트리 요소를 스키마의 요소 또는 특성에 매핑합니다.
bindRef 필드는 트리 요소와 스키마의 요소 또는 특성 간의 연결을 보여 줍니다.
속성에 bindRef
값에 @
기호가 있으므로 요소와 구별할 수 있습니다. 예, /config/projectDetails/@duration
.
반복 가능한 하위 양식에 대해 하위 폼의 개별 요소(복잡한 형식에서 생성된 구조)를 드래그할 수 없는 이유는 무엇입니까(minOccours 또는 maxOccurs 값이 1보다 큼)?
반복 가능한 하위 양식에서는 전체 하위 양식을 사용해야 합니다. 선택 필드만 원하는 경우 전체 구조를 사용하고 원치 않는 필드를 삭제합니다.
Content Finder에는 구조가 매우 복잡합니다. 특정 요소를 어떻게 찾을 수 있습니까?
두 가지 옵션이 있습니다.
bindRef란 무엇입니까?
bindRef
은 적응형 양식 구성 요소와 스키마 요소 또는 특성 간의 연결입니다. 출력 XML에서 이 구성 요소나 필드에서 캡처한 값을 사용할 수 있는 XPath
이 지시됩니다. 미리 입력(미리 채워진) XML에서 필드 값을 미리 채울 때도 bindRef
이 사용됩니다.