XML 표기 규칙
ASSL(Analysis Services Scripting Language)은 개체의 계층을 요소 유형의 집합으로 나타내며, 각 요소 유형은 포함할 수 있는 자식 요소를 정의합니다.
개체 계층을 나타내기 위해 ASSL에서는 다음과 같은 XML 표기 규칙을 사용합니다.
‘xml:lang’과 같은 표준 XML 특성을 제외한 개체와 속성은 모두 요소로 표현됩니다.
요소 이름과 열거형 값은 모두 밑줄을 사용하지 않는 파스칼식 Microsoft .NET Framework 명명 규칙을 따릅니다.
모든 값의 대/소문자는 유지됩니다. 열거형의 값도 대/소문자를 구분합니다.
이 표기 규칙 목록 외에도 ASSL은 카디널리티, 상속, 공백, 데이터 형식 및 기본값에 관한 특정 표기 규칙을 따릅니다.
[!참고]
각 요소의 설명, 형식, 카디널리티 및 기본값에 대한 자세한 내용과 관련 추가 정보는 Analysis Services Scripting Language XML 요소(ASSL)를 참조하십시오.
카디널리티
요소의 카디널리티가 1보다 큰 경우에는 XML 요소 컬렉션에서 이 요소를 캡슐화합니다. 컬렉션 이름에는 컬렉션에 포함된 복수 형태의 요소를 사용합니다. 예를 들어, 다음 XML 조각은 Database 요소 내의 Dimensions 컬렉션을 나타냅니다.
<Database>
…
<Dimensions>
<Dimension>
...
</Dimension>
<Dimension>
...
</Dimension>
</Dimensions>
</Database>
요소가 표시되는 순서는 중요하지 않습니다.
상속
겹치는 부분이 있으면서도 상당히 다른 속성 집합을 가지고 있는 서로 다른 개체가 있을 때 상속이 사용됩니다. 겹치면서도 서로 다른 개체의 예로는 가상 큐브, 연결된 큐브 및 일반 큐브가 있습니다. ASSL에서는 겹치면서도 서로 다른 개체에 대해 XML 인스턴스 네임스페이스의 표준 type 특성을 사용하여 상속을 나타냅니다. 예를 들어, 다음 XML 조각에서는 Cube 요소가 일반 큐브에서 상속되는지 또는 가상 큐브에서 상속되는지를 type 특성을 통해 식별하는 방법을 보여 줍니다.
<Cubes>
<Cube xsi:type=”RegularCube”>
<Name>Sales</Name>
...
</Cube>
<Cube xsi:type=”VirtualCube”>
<Name>SalesAndInventory</Name>
...
</Cube>
</Cubes>
여러 형식에 같은 이름의 속성이 있는 경우에는 일반적으로 상속을 사용하지 않습니다. 예를 들어, Name 및 ID 속성은 많은 요소에 나타나지만 이러한 속성은 추상 형식으로 승격되지 않습니다.
공백
요소 값 안의 공백은 유지됩니다. 그러나 선행 공백과 후행 공백은 항상 잘립니다. 예를 들어, 다음 요소는 동일한 텍스트를 가지고 있지만 텍스트의 공백 수가 다르므로 서로 다른 값을 가진 것으로 처리됩니다.
<Description>My text<Description>
<Description>My text<Description>
그러나 다음 요소는 선행 및 후행 공백만 다르므로 같은 값을 가진 것으로 처리됩니다.
<Description>My text<Description>
<Description> My text <Description>
데이터 형식
ASSL은 다음과 같은 표준 XSD(XML 스키마 정의 언어) 데이터 형식을 사용합니다.
Int
-231에서 231-1 사이의 정수 값입니다.Long
-263에서 263-1 사이의 정수 값입니다.String
다음과 같은 전역 규칙을 따르는 문자열 값입니다.제어 문자가 제거됩니다.
선행 공백과 후행 공백이 잘립니다.
내부 공백이 유지됩니다.
Name 및 ID 속성에는 문자열 요소의 유효한 문자에 대한 특별한 제한이 있습니다. Name 및 ID 규칙에 대한 자세한 내용은 개체 및 개체 특징을 참조하십시오.
DateTime
.NET Framework의 DateTime 구조체입니다. DateTime 값은 NULL일 수 없습니다. DataTime 데이터 형식에서 지원되는 가장 이른 날짜는 1601년 1월 1일이며 프로그래머는 이 날짜를 DateTime.MinValue로 사용할 수 있습니다. 지원되는 가장 낮은 날짜는 DateTime 값이 누락되었음을 나타냅니다.Boolean
{true, false} 또는 {0, 1}처럼 두 개의 값만 가지는 열거형입니다.
기본값
ASSL은 다음 표에 나열된 기본값을 사용합니다.
XML 데이터 형식 |
기본값 |
---|---|
Boolean |
False |
String |
""(빈 문자열) |
Integer 또는 Long |
0(영) |
Timestamp |
12:00:00 AM, 1/1/0001(틱 수가 0인 .NET Frameworks System.DateTime에 해당) |
존재하기는 하지만 비어 있는 요소는 기본값이 아닌 Null 문자열 값을 갖는 것으로 해석됩니다.
상속된 기본값
개체에 지정된 일부 속성은 자식 또는 하위 항목 개체의 동일한 속성에 기본값을 제공합니다. 예를 들어, Cube.StorageMode는 Partition.StorageMode에 기본값을 제공합니다. ASSL에서 상속된 기본값에 적용되는 규칙은 DSO(의사 결정 지원 개체) 8.0의 규칙과 동일합니다.
XML에서 자식 개체의 속성이 Null이면 속성의 기본값은 상속된 값으로 기본 설정됩니다. 그러나 서버의 값을 쿼리하는 경우 서버에서 XML 요소의 Null 값을 반환합니다.
자식 개체의 속성이 자식 개체에 대해 직접 설정되었는지 또는 상속되었는지는 프로그래밍 방식으로 확인할 수 없습니다.
일부 요소에는 요소가 누락되었을 때 적용되는 기본값이 정의되어 있습니다. 예를 들어, 다음 XML 조각에서 한 Dimension 요소에는 Visible 요소가 있고 다른 Dimension 요소에는 해당 요소가 없어도 두 Dimension 요소는 동일합니다.
<Dimension>
<Name>Product</Name>
</Dimension>
<Dimension>
<Name>Product</ Name>
<Visible>true</Visible>
</Dimension>
상속된 기본값에 대한 자세한 내용은 개체 및 개체 특징을 참조하십시오.