XML 포맷

XML(Extensible Markup Language)은 구조화된 데이터 교환을 위한 언어입니다. 고정 파일 포맷 대신 XML은 그룹이 데이터 교환을 위해 사용할 수 있는 동의된 포맷을 정의하기 위한 언어입니다. 여러 개인, 조직 및 비즈니스는 XML을 사용하여 제품 정보, 처리 작업, 재고 데이터 및 기타 비즈니스 데이터를 전송합니다.

XML 가져오기 및 내보내기에 대한 예제 파일은 업데이트 및 릴리즈 노트 페이지에서 다운로드할 수 있습니다. XML 및 XML 리소스에 대한 링크에 관한 정보는 Claris 웹 사이트를 참조하십시오.

XML 가져오기

FileMaker Pro는 XML 가져오기용 FMPXMLRESULT 문법을 지원합니다. XML이 다른 포맷인 경우 XSLT(Extensible Stylesheet Language for Transformations) 스타일 시트를 적용하여 XML을 FMPXMLRESULT 문법으로 전송할 수 있습니다.

XML 내보내기

FileMaker Pro는 FMPXMLRESULT 및 FMPDSORESULT라는 두 가지 문법으로 XML을 내보낼 수 있습니다. 내보내는 동안 XSLT 스타일 시트를 적용하여 문법 중 하나를 다른 XML 또는 HTML이나 일반 텍스트와 같은 다른 포맷으로 전송할 수 있습니다. 예를 들어 XML 내보내기를 사용하여 데이터 구동 웹 페이지 또는 사용자 설정 필드 구분 기호를 사용하는 데이터의 텍스트 파일을 생성할 수 있습니다.

참고  FileMaker Pro의 XML 가져오기 및 내보내기 기능은 libxml2라는 XML 파서와 libxslt라는 XSLT 스타일 시트 프로세서를 사용합니다. XML과 XSL을 개발할 때, macOS에서 각각 사용할 수 있는 명령 행 도구 xmllint 및 xsltproc와 같은 libxml2 및 libxslt 기반 파서 및 프로세서를 사용하여 XML 및 XSLT를 테스트할 수 있습니다. 자세한 정보는 libxml2libxslt 저장소 또는 기타 업체의 해당 위치를 참조하십시오.

XML FMPDSORESULT 문법

FMPDSORESULT 문법은 SSL(cascading style sheets) 또는 XSL로 포맷을 지정할 데이터베이스를 내보낼 때 유용합니다.

참고  싱글 바이트 가나 문자(예: "7")나 선행 숫자로 데이터 필드의 이름을 지정하지 마십시오. FMPDSORESULT 문법은 숫자나 싱글 바이트 가나 문자를 필드 이름 태그로 허용하지 않으며 브라우저에 결과 XML 파일을 표시하지 않습니다.

내보낸 FMPDSORESULT 문법의 각 ROW 요소는 내보낸 필드 이름에 해당하는 FIELD 요소 수를 포함합니다.

찾기 이름에서 공백이나 단일 색상은 변환되어 요소 이름에 밑줄을 지정합니다(예: <FIRST_NAME>). 포털 필드의 이중 콜론은 점으로 변환됩니다(예: <PHONE.PHONE_NUMBER>). 콜론이 네임스페이스 및 공백을 지정하기 위해 XML로 예약되고 공백이 XML 요소 이름에서 허용되지 않기 때문에 변환됩니다.

반복 및 관련 필드의 경우 각 FIELD 요소는 각 반복 또는 포털 레코드에 해당되는 DATA 요소를 포함합니다.

XML 내보내기는 컨테이너 필드 데이터 내보내기를 지원하지 않습니다.

XML 제한사항 때문에 각 관련 필드의 레코드 하나만 내보냅니다.

XML FMPXMLRESULT 문법

FMPXMLRESULT 문법은 레코드, 필드 유형 및 필드 포맷 수와 같은 FMPDSORESULT 문법에 없는 데이터베이스에 관한 추가 정보를 포함합니다. 이 요소 및 속성은 적절한 유효성 검증을 위해 XML에 필요합니다.

이 문법에서 제공한 METADATA 정보가 필요한 경우 FMPXMLRESULT 문법을 사용합니다. FileMaker Pro가 FMPXMLRESULT 문법에서 가져오기 및 내보내기 모두를 지원하기 때문에 이는 FileMaker Pro 파일 간 데이터 전송을 위해 유용한 포맷일 수 있습니다.

참고  FMPXMLRESULT 문법은 CSS(Cascading Style Sheets)와 사용하기에는 적절하지 않습니다. XML 데이터와 함께 CSS를 사용하려면 FMPDSORESULT 문법을 사용합니다.

FMPXMLRESULT 문법에서 DATABASE 요소는 NAME, RECORDS, DATEFORMAT, LAYOUT 및 TIMEFORMAT 속성을 포함합니다.

DATEFORMAT 속성은 XML 문서의 날짜 포맷을 지정합니다.

필드

전체 형식

짧은 형식

Year

yyyy(4자리)

yy(2자리)

Month

mm(2자리)

M(1 또는 2자리)

dd(2자리)

d(1 또는 2자리)

TIMEFORMAT 속성은 XML 문서에 시간 포맷을 지정합니다.

필드

전체 형식

짧은 형식

시간(1-12)

hh(2자리)

h(1 또는 2자리)

시간(1-24)

kk(2자리)

k(1 또는 2자리)

mm

 

ss

 

AM/PM

a

 

METADATA 요소는 하나 이상의 FIELD 요소를 포함하며 데이터베이스에 정의된 필드 이름, 필드 유형, 빈 필드에 대해 예 또는 아니요 허용(EMPTYOK 속성) 및 반복 값의 최대 수(MAXREPEAT 속성)를 포함한 필드/열 하나의 정보를 각각 포함합니다. 필드 유형으로 유효한 값은 TEXT, NUMBER, DATE, TIME, TIMESTAMP 및 CONTAINER입니다.

RESULTSET 요소는 XML에서 레코드 데이터를 지정하는 모든 ROW 요소를 포함합니다. 각 ROW 요소는 행의 레코드 ID, 행의 수정 ID 및 행에서 하나의 필드/열에 대한 데이터를 포함한 COL 요소를 포함한 결과 세트에서 한 행에 대한 필드/열 데이터를 포함합니다(여기서 다중 DATA 요소는 반복 또는 포털 필드의 값 하나를 표시).

XML 내보내기는 컨테이너 필드 데이터 내보내기를 지원하지 않습니다.

XML 제한사항 때문에 각 관련 필드의 레코드 하나만 내보냅니다.

COL 요소의 순서는 METADATA 요소의 FIELD 요소 순서에 해당됩니다. 예를 들어 여기서 "First Name," "Last Name" 및 "Department" 요소는 METADATA, "Joe", "Smith"에 나열되며 "Engineering"는 RESULTSET ROW에 동일 순서로 나열됩니다.

참고 

  • XML로 가져오기 전에 FileMaker Pro는 libxml2 기반 XML 파서 및 libxslt 기반 XSLT 프로세서를 사용해 XSLT 스타일 시트를 적용하여(지정된 시트가 있는 경우) XML 데이터를 전송합니다. 오류 메시지가 나타나면 오류를 정정하고 다시 가져오기를 시도하십시오.

  • 가져오는 XML이 FMPXMLRESULT 문법을 준수해야 하지만 가져오는 동안 특정 요소와 속성은 사용되지 않습니다. 다음 테이블은 XML을 가져오는 동안 사용되는 요소와 속성을 정의하며 속성에 대해 허용된 기본 값을 나열합니다. 대부분의 경우 속성 값은 null일 수 있습니다(예: TIMEFORMAT=""). 또한 FMPXMLRESULT 요소는 문법의 FileMaker 네임스페이스를 항상 선언해야 합니다.

  • 요소

    속성

    XML을 가져오는 동안 사용

    기본값

    FMPXMLRESULT

     

    xmlns="http://www.filemaker.com/ fmpxmlresult"

    ERRORCODE

     

    아니요

     

    PRODUCT

     

    아니요

    " "

     

    NAME

    아니요

    " "

     

    VERSION

    아니요

    " "

     

    BUILD

    아니요

    " "

    DATABASE

     

    아니요

     

     

    NAME

    아니요

    " "

     

    RECORDS

    아니요

    " "

     

    DATEFORMAT

    아니요

    " "

     

    TIMEFORMAT

    아니요

    " "

     

    LAYOUT

    아니요

    " "

    METADATA

     

     

        FIELD

     

     

     

    NAME

    " "

     

    TYPE

    "TEXT", "DATE", "NUMBER", "TIME", "TIMESTAMP" 또는 "CONTAINER"

     

    EMPTYOK

    아니요

    "예" or "아니요"

     

    MAXREPEAT

    아니요

    " "

    RESULTSET

     

     

     

    FOUND

    아니요

    " "

        ROW

     

     

     

    RECORDID

    아니요

    " "

     

    MODID

    아니요

    " "

        COL

     

     

          DATA