XML로 복사본 저장
열려 있는 파일의 사본을 스키마, 레이아웃 및 스크립트의 XML 표현으로 저장합니다.
다음도 참조하십시오.
옵션
-
윈도우 이름은 열려 있는 파일의 윈도우 이름을 지정합니다. 지정되지 않은 경우 현재 윈도우가 사용됩니다.
-
대상 파일은 생성할 XML 파일의 경로입니다. 파일 경로 생성하기를 참조하십시오.
-
분석 도구에 대한 세부사항 포함은 XML 파일에 더 많은 정보를 추가합니다.
이 옵션은 맞춤형 App을 분석하는 데 사용할 수 있는 타사 도구에 유용한 추가 정보를 제공하는 DDR_INFO 요소를 추가합니다. App에 따라서 이 옵션은 훨씬 더 큰 XML 파일을 생성할 수 있습니다.
-
각 레이아웃 대상체의 바이너리 데이터를 해당 노드 아래에 저장은 모든 레이아웃 대상체의 바이너리 데이터(예: 이미지)를 XML 파일의 레이아웃 대상체의 노드 아래에 저장합니다. 이렇게 하면 일부 도구에서 XML을 더 쉽게 사용할 수 있지만 XML 파일 크기가 커질 수 있습니다.
이 옵션을 선택 해제하면 각 레이아웃 대상체의 노드 아래에는 참조만 저장되며, 이는 바이너리 데이터가 저장된 보관함 데이터 카탈로그를 가리킵니다. 이는 많은 레이아웃 대상체에 동일한 바이너리 데이터를 사용할 때 파일 크기를 줄이는 데 도움이 될 수 있습니다.
-
옵션을 JSON로 지정은 JSON 객체에 대한 텍스트 표현식으로, 이 스크립트 단계에 대해 다음 옵션을 지정할 수 있게 합니다.
-
catalogs_included(JSON array): XML 파일에 포함할 카탈로그를 지정하는 카탈로그 이름 문자열 배열입니다. 생략하면 모든 카탈로그가 기본적으로 포함됩니다. -
include_details(Boolean): 이 옵션은 분석 도구에 대한 세부사항 포함과 동일한 목적이 있으며, 지정된 경우 해당 값을 무시합니다. -
split_catalogs(Boolean):true일 때,catalogs_included키에 지정된 각 카탈로그에 대해 별도의 XML 파일을 생성합니다.false또는 생략될 경우, 단일 XML 파일을 생성합니다. 분할 카탈로그 동작에 대한 자세한 내용은 메모를 참조하십시오. -
standalone_binarydata(Boolean): 이 옵션은 각 레이아웃 대상체의 바이너리 데이터를 해당 노드 아래에 저장하는 것과 동일한 목적이 있으며, 지정된 경우 해당 값을 무시합니다.
이 옵션을 처음 선택하면 FileMaker Pro가 자동으로 템플릿 계산을 생성하여 위의 모든 키를 기본값으로 반환하고,
catalogs_included에 대한 지원되는 모든 카탈로그 이름을 포함하며, 이를 사용자 지정할 수 있습니다. -
호환성
| 제품 | 지원 |
| FileMaker Pro | 예 |
| FileMaker Go | 아니요 |
| FileMaker WebDirect | 아니요 |
| FileMaker Server | 예 |
| FileMaker Cloud | 예 |
| FileMaker Data API | 아니요 |
| 사용자 설정 웹 발행 | 아니요 |
다음 버전에서 시작됨
18.0
설명
이 스크립트 단계는 도구 메뉴 > XML로 복사본 저장을 선택하는 것과 비슷합니다. 데이터베이스 스키마 문서화하기를 참조하십시오.
옵션을 JSON로 지정을 사용하여 포함할 카탈로그를 동적으로 지정하거나 출력을 여러 파일로 분할할지 여부를 결정해야 하는 복잡한 시나리오를 자동화할 수 있습니다.
참고
-
이 스크립트 단계를 수행하려면 해당 사용자 및 스크립트가 전체 접근 권한을 가지고 있어야 합니다. 스크립트 생성 및 편집하기를 참조하십시오.
-
이 XML 포맷은 FileMaker Pro의 한 버전을 다음 버전으로 변경할 수 있습니다. XML로 FileMaker Pro 파일의 두 버전을 비교할 때 동일한 버전의 FileMaker Pro를 사용하여 각 파일의 복사본을 XML로 저장해야 합니다. 다른 도구와 함께 XML을 사용하는 경우, 해당 도구가 사용 중인 FileMaker Pro 버전에서 저장된 XML을 사용하도록 고안되었는지 확인합니다.
-
옵션을 JSON로 지정에서,
split_catalogs가true인 경우:-
대상 파일 옵션은 폴더 이름으로 처리되며,
catalogs_included에 지정된 각 카탈로그마다 별도의 XML 파일이 생성됩니다. 폴더가 존재하지 않을 경우, 이 스크립트 단계가 이를 생성합니다. -
카탈로그를 분할할 때
standalone_binarydata키는 자동으로true로 설정됩니다. -
LibraryCatalog 값은
catalogs_included에 지정되어 있더라도 무시됩니다.
-
-
옵션을 JSON로 지정에 서식 오류가 포함된 경우, 스크립트 단계에서 오류 코드 878 ("옵션의 JSON 데이터에 포맷 오류가 있어 구문 분석할 수 없습니다")을 반환합니다.
예제 1
윈도우 이름이 ‘재고’인 열려 있는 파일의 복사본을 XML 파일에 저장합니다.
XML로 복사본 저장 [ 윈도우 이름: "재고" ; 대상 파일: "재고.xml" ]
예제 2
현재 윈도우에서 지정된 파일의 스크립트, 레이아웃 및 사용자 정의 함수만 옵션을 JSON로 지정을 사용하여 XML 파일에 저장합니다.
변수 설정 [ $jsonOptions ; Value:
JSONSetElement ( "{}" ;
[ "catalogs_included" ; JSONMakeArray (
"ScriptCatalog LayoutCatalog CustomFunctionsCatalog" ;
" " ; JSONString ) ; JSONArray ] ;
[ "include_details" ; False ; JSONBoolean ] ;
[ "split_catalogs" ; False ; JSONBoolean ] ;
[ "standalone_binarydata" ; False ; JSONBoolean ]
)
]
복사본을 XML로 저장 [ 윈도우 이름: ; 대상 파일: "MyApp_Schema.xml" ; 분석 도구에 대한 세부 정보를 포함 ; 옵션을 JSON으로 지정: $jsonOptions ]
스크립트 단계에서 분석 도구에 대한 세부사항 포함이 선택되어 있음에도 불구하고, 옵션을 JSON로 지정 옵션의 include_details 키에 의해 False로 설정되어 무시됨을 확인하십시오.
예제 3
스크립트, 레이아웃 및 필드를 "MyApp_SaveAsXML"이라는 폴더 내의 별도 XML 파일에 저장합니다.
Set Variable [ $jsonOptions ; Value:
JSONSetElement ( "{}" ;
[ "catalogs_included" ; JSONMakeArray (
"ScriptCatalog LayoutCatalog FieldCatalog" ;
" " ; JSONString ) ; JSONArray ] ;
[ "include_details" ; True ; JSONBoolean ] ;
[ "split_catalogs" ; True ; JSONBoolean ]
)
]
복사본을 XML로 저장 [ 창 이름: ; 대상 파일: "MyApp_SaveAsXML" ; 옵션을 JSON으로 지정: $jsonOptions ]
이렇게 하면 "MyApp_SaveAsXML"이라는 폴더가 생성되며, 그 안에 세 개의 파일이 포함됩니다:
MyApp_SaveAsXML_ScriptCatalog.xmlMyApp_SaveAsXML_LayoutCatalog.xmlMyApp_SaveAsXML_FieldCatalog.xml