-
Notifications
You must be signed in to change notification settings - Fork 16
DataBase
데이터 베이스내에 테이블은 xml 형태로 저장됩니다. 테이블의 형태는 xsd 로 저장되며 테이블 데이터에서 사용되는 타입도 xsd 형태로 저장됩니다. 타입은 타입당 한개의 xsd 파일로 저장되며 테이블은 테이블당 테이블의 형태를 나타내는 xsd 파일과 테이블의 내용을 나타내는 xml 파일로 저장됩니다. 크레마에서는 테이블의 형태를 상속받아 사용하는 기능이 있는데 이런 테이블은 xml 파일만 저장됩니다.
테이블은 테이블의 형태인 xsd 파일과 테이블의 내용인 xml로 이루어져 있으므로 Microsoft Visual Studio와 같은 툴로 xml파일을 열면 Intellisense 기능이 동작하므로 오류를 확인하거나 수동으로 테이블의 내용을 작성할 수 있습니다.
* database
* .acs(보안 설정시)
* types
* .acs(보안 설정시)
* sub-folder
* ...
* type1.xsd
* type1.acs(보안 설정시)
* tables
* .acs(보안 설정시)
* sub-folder
* ...
* table1.xsd
* table1.xml
* table1.acs(보안 설정시)
* derivedTable1.xml
데이터 베이스내에 타입이 저장되는 곳입니다. types 폴더내에 하위 폴더가 존재할 수 있으며 각 폴더는 types 폴더에 대한 상대 경로가 네임스페이스로 활용됩니다.
기본 네임스페이스는 http://schemas.ntreev.com/crema/types 이며 type1.xsd 의 네임스페이스는 http://schemas.ntreev.com/crema/types/types/type1 이 됩니다.
만약 types 폴더내에 MyType 폴더가 있고 MyType 폴더에 type1.xsd 이 존재한다면 네임스페이는 http://schemas.ntreev.com/crema/types/types/MyType/type1 이 됩니다.
데이터 베이스내에 테이블 형태와 내용이 저장되는 곳입니다. 기본 구조는 types와 동일하며 테이블은 한개의 xsd파일과 한개의 xml 형태로 저장됩니다. 위에서도 언급했다시피 상속받은 테이블일 경우 xsd가 존재하지 않습니다. xml 파일내에 xsi:schemaLocation 특성으로 xsd 의 위치를 확인할 수 있습니다.
xsi:schemaLocation="http://schemas.ntreev.com/crema/tables/Table1 Table1.xsd"
테이블의 네임스페이스는 http://schemas.ntreev.com/crema/tables 입니다.
데이터 베이스, 폴더, 타입 및 테이블은 각각 보안을 설정할 수 있습니다. 보안이 설정되면 각각 자신이 위치한 곳에 .acs 의 확장자를 가진 파일이 생성됩니다. 타입과 테이블은 자신의 이름과 같은 acs 파일이 생성됩니다. acs 파일의 형태는 json이며 보안 설정이 해제되었을시에는 acs 파일이 삭제됩니다.