XML 스키마를 사용하여 적응형 양식 만들기 creating-adaptive-forms-using-xml-schema

CAUTION
AEM 6.4가 확장 지원이 종료되었으며 이 설명서는 더 이상 업데이트되지 않습니다. 자세한 내용은 기술 지원 기간. 지원되는 버전 찾기 여기.

사전 요구 사항 prerequisites

XML 스키마를 양식 모델로 사용하여 적응형 양식을 작성하려면 XML 스키마를 기본 이해해야 합니다. 또한 이 문서 전에 다음 내용을 읽는 것이 좋습니다.

XML 스키마를 양식 모델로 사용 using-an-xml-schema-as-form-model

AEM Forms에서는 기존 XML 스키마를 양식 모델로 사용하여 적응형 양식 만들기를 지원합니다. 이 XML 스키마는 조직의 백엔드 시스템에서 데이터를 생성하거나 사용하는 구조를 나타냅니다.

XML 스키마를 사용하는 주요 기능은 다음과 같습니다.

  • 적응형 양식의 작성 모드에서 컨텐츠 파인더 탭에 XSD의 구조가 트리로 표시됩니다. XSD 계층 구조에서 요소를 적응형 양식으로 끌어다 추가할 수 있습니다.
  • 연관된 스키마와 호환되는 XML을 사용하여 양식을 미리 채울 수 있습니다.
  • 제출 시 사용자가 입력한 데이터는 관련 스키마에 맞는 XML로 제출됩니다.

XML 스키마는 간단하고 복잡한 요소 유형으로 구성됩니다. 요소에는 요소에 규칙을 추가하는 특성이 있습니다. 이러한 요소와 속성을 적응형 양식으로 드래그하면 해당 적응형 양식 구성 요소에 자동으로 매핑됩니다.

적응형 양식 구성 요소를 사용하는 XML 요소의 매핑은 다음과 같습니다.

XML 요소 또는 특성
적응형 양식 구성 요소
xs:string
텍스트 상자
xs:boolean
확인란
  • xs:unsignedInt
  • xs:xs:int
  • xs:decimal
  • 모든 유형의 숫자 값
숫자 상자
xs:date
날짜 선택
xs:enumeration
드롭다운
모든 복합 유형 요소
패널

샘플 XML 스키마 sample-xml-schema

다음은 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>
NOTE
XML 스키마에 루트 요소가 하나만 있는지 확인합니다. 루트 요소가 두 개 이상 있는 XML 스키마가 지원되지 않습니다.

XML 스키마를 사용하여 필드에 특수 속성 추가 adding-special-properties-to-fields-using-xml-schema

XML 스키마 요소에 다음 속성을 추가하여 연결된 적응형 양식의 필드에 특수 속성을 추가할 수 있습니다.

스키마 속성
적응형 양식에서 사용
지원 대상
use=required
필수 필드를 표시합니다
특성
default="default value"
기본값 추가
요소 및 속성
minOccurs="3"

최소 발생 횟수를 지정합니다.

(반복 가능한 하위 양식의 경우(복잡한 유형))

요소(복합 유형)
maxOccurs="10"

최대 발생 횟수를 지정합니다.

(반복 가능한 하위 양식의 경우(복잡한 유형))

요소(복합 유형)
NOTE
스키마 요소를 적응형 양식으로 드래그하면 다음과 같이 기본 캡션이 생성됩니다.
  • 요소 이름의 첫 번째 문자를 대문자로 바꿉니다
  • 카멜 케이스 경계에 공백을 삽입합니다.
예를 들어 userFirstName 스키마 요소, 적응형 양식에 생성된 캡션은 User First Name.

적응형 양식 구성 요소의 허용 가능한 값 제한 limit-acceptable-values-for-an-adaptive-form-component

XML 스키마 요소에 다음 제한 사항을 추가하여 적응형 양식 구성 요소에 허용되는 값을 제한할 수 있습니다.

스키마 속성
데이터 형식
설명
구성 요소
totalDigits
문자열
구성 요소에서 허용되는 최대 자릿수를 지정합니다. 지정한 자릿수는 0보다 커야 합니다.
  • 숫자 상자
  • 숫자 스텝퍼
maximum
문자열
숫자 값 및 날짜에 대한 상한을 지정합니다. 기본적으로 최대값이 포함됩니다.
  • 숫자 상자
  • 숫자 스텝퍼
  • 날짜 선택기
minimum
문자열
숫자 값 및 날짜에 대해 하한 값을 지정합니다. 기본적으로 최소값이 포함됩니다.
  • 숫자 상자
  • 숫자 스텝퍼
  • 날짜 선택기
exclusiveMaximum
부울

true일 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜는 최대 속성에 지정된 숫자 값 또는 날짜보다 작아야 합니다.

false인 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜가 최대 속성에 대해 지정된 숫자 값 또는 날짜보다 작거나 같아야 합니다.

  • 숫자 상자
  • 숫자 스텝퍼
  • 날짜 선택기
exclusiveMinimum
부울

true일 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜는 최소 속성에 지정된 숫자 값 또는 날짜보다 커야 합니다.

false인 경우 양식의 구성 요소에 지정된 숫자 값 또는 날짜가 최소 속성에 지정된 숫자 값 또는 날짜보다 크거나 같아야 합니다.

  • 숫자 상자
  • 숫자 스텝퍼
  • 날짜 선택기
minLength
문자열
구성 요소에 허용되는 최소 문자 수를 지정합니다. 최소 길이는 0보다 크거나 같아야 합니다.
  • 텍스트 상자
maxLength
문자열
구성 요소에서 허용되는 최대 문자 수를 지정합니다. 최대 길이는 0보다 커야 합니다.
  • 텍스트 상자
length
문자열
구성 요소에서 허용되는 정확한 문자 수를 지정합니다. 길이는 0보다 크거나 같아야 합니다.
  • 텍스트 상자
fractionDigits
문자열
구성 요소에서 허용되는 최대 소수 자릿수를 지정합니다. fractionDigits는 0보다 크거나 같아야 합니다.
  • 데이터 유형이 부동 또는 십진수인 숫자 상자
pattern
문자열

문자의 시퀀스를 지정합니다. 구성 요소는 문자가 지정된 패턴을 준수하는 경우 문자를 허용합니다.

패턴 속성은 해당 적응형 양식 구성 요소의 유효성 검사 패턴에 매핑됩니다.

  • XSD 스키마에 매핑되는 모든 적응형 양식 구성 요소

자주 묻는 질문 frequently-asked-questions

트리의 어떤 요소가 어떤 XML 요소와 연결되어 있는지 어떻게 알 수 있습니까?

Content Finder에서 요소를 두 번 클릭하면 팝업에 필드 이름과 속성이 표시됩니다. bindRef. 이 속성은 트리 요소를 스키마의 요소 또는 속성에 매핑합니다.

XML 스키마 요소의 이진 필드

bindRef 필드는 트리 요소와 스키마의 요소 또는 속성 간의 연결을 보여 줍니다.

NOTE
속성에는 @ 기호 bindRef값과 구별할 수 있습니다. (예: /config/projectDetails/@duration)

반복 가능한 하위 양식(minOccourse 또는 maxOccurts 값이 1보다 큼)에 대해 하위 양식의 개별 요소(복잡한 형식에서 생성된 구조)를 드래그할 수 없는 이유는 무엇입니까?

반복 가능한 하위 양식에서는 전체 하위 폼을 사용해야 합니다. 선택적 필드만 원하는 경우 전체 구조를 사용하고 원하지 않는 필드를 삭제합니다.

컨텐츠 파인더에는 구조가 매우 복잡합니다. 특정 요소를 찾으려면 어떻게 해야 합니까?

다음 두 가지 옵션이 있습니다.

  • 트리 구조를 스크롤합니다.
  • 검색 상자를 사용하여 요소를 찾습니다

bindRef란 무엇입니까?

A bindRef 적응형 양식 구성 요소와 스키마 요소 또는 속성 간의 연결입니다. 그것은 명령한다 XPath 여기서 이 구성 요소 또는 필드에서 캡처된 값을 출력 XML에서 사용할 수 있습니다. A bindRef미리 채워진(미리 채워진) XML에서 필드 값을 미리 채울 때도 사용됩니다.

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