Partilhar via


Convenções XML do ASSL

A ASSL (Analysis Services Scripting Language) representa a hierarquia de objetos como um conjunto de tipos de elementos, cada um dos quais define os elementos filho que podem conter.

Para representar a hierarquia de objetos, o ASSL usa as seguintes convenções XML:

  • Todos os objetos e propriedades são representados como elementos, exceto os atributos XML padrão, como 'xml:lang'.

  • Os nomes de elementos e os valores de enumeração seguem a convenção de nomenclatura do Microsoft .NET Framework de Pascal casing sem sublinhados.

  • O caso de todos os valores é preservado. Os valores para enumerações também diferenciam maiúsculas de minúsculas.

Além dessa lista de convenções, o Analysis Services também segue determinadas convenções sobre cardinalidade, herança, espaço em branco, tipos de dados e valores padrão.

Cardinalidade

Quando um elemento tem uma cardinalidade maior que 1, há uma coleção de elementos XML que encapsula esse elemento. O nome da coleção usa a forma plural dos elementos contidos na coleção. Por exemplo, o seguinte fragmento XML representa a Dimensions coleção dentro de um Database elemento:

<Database>

...

<Dimensions>

<Dimension>

...

</Dimension>

<Dimension>

...

</Dimension>

</Dimensions>

</Database>

``

A ordem na qual os elementos aparecem não é importante.

Herança

A herança é usada quando há objetos distintos que têm conjuntos de propriedades sobrepostos, mas significativamente diferentes. Exemplos desses objetos sobrepostos, mas distintos, são cubos virtuais, cubos vinculados e cubos regulares. Para objetos sobrepostos, mas distintos, o Analysis Services usa o atributo padrão type do Namespace da Instância XML para indicar a herança. Por exemplo, o fragmento XML a seguir mostra como o type atributo identifica se um Cube elemento herda de um cubo regular ou de um cubo virtual:

<Cubes>

<Cube xsi:type="RegularCube">

<Name>Sales</Name>

...

</Cube>

<Cube xsi:type="VirtualCube">

<Name>SalesAndInventory</Name>

...

</Cube>

</Cubes>

``

A herança geralmente não é usada quando vários tipos têm uma propriedade de mesmo nome. Por exemplo, as propriedades e as Name propriedades ID aparecem em muitos elementos, mas essas propriedades não foram promovidas a um tipo abstrato.

Espaço em branco

O espaço em branco dentro de um valor de elemento é preservado. No entanto, o espaço em branco à esquerda e à direita é sempre cortado. Por exemplo, os seguintes elementos têm o mesmo texto, mas quantidades diferentes de espaço em branco dentro desse texto e, portanto, são tratados como se tivessem valores diferentes:

<Description>My text<Description>

<Description>My text<Description>

``

No entanto, os seguintes elementos variam apenas no espaço em branco à esquerda e à direita e, portanto, são tratados como se tivessem valores equivalentes:

<Description>My text<Description>

<Description> My text <Description>

``

Tipos de dados

O Analysis Services usa os seguintes tipos de dados XSD (linguagem de definição de esquema XML) padrão:

Int
Um valor inteiro no intervalo de -231 a 231 a 1.

Long
Um valor inteiro no intervalo de -263 a 263 a 1.

String
Um valor de cadeia de caracteres que está em conformidade com as seguintes regras globais:

  • Os caracteres de controle são removidos.

  • O espaço em branco à esquerda e à direita é cortado.

  • O espaço em branco interno é preservado.

Name e ID as propriedades têm limitações especiais em caracteres válidos em elementos de cadeia de caracteres. Para obter informações adicionais sobre Name e ID convenções, consulte AsSL Objects and Object Characteristics.

DateTime
Uma DateTime estrutura do .NET Framework. Um DateTime valor não pode ser NULL. A data mais baixa compatível com o DataTime tipo de dados é 1º de janeiro de 1601, que está disponível para programadores como DateTime.MinValue. A data mais baixa com suporte indica que um DateTime valor está ausente.

Boolean
Uma enumeração com apenas dois valores, como {true, false} ou {0, 1}.

Valores padrão

O Analysis Services usa os padrões listados na tabela a seguir.

Tipo de dados XML Valor padrão
Boolean Falso
String "" (cadeia de caracteres vazia)
Integer ou Long 0 (zero)
Timestamp 12:00:00, 1/1/0001 (correspondente a um .NET Frameworks System.DateTime com 0 tiques)

Um elemento que está presente, mas vazio, é interpretado como tendo um valor de uma cadeia de caracteres nula, não o valor padrão.

Padrões herdados

Algumas propriedades especificadas em um objeto fornecem valores padrão para a mesma propriedade em objetos filho ou descendente. Por exemplo, Cube.StorageMode fornece o valor padrão para Partition.StorageMode. As regras que o Analysis Services aplica para valores padrão herdados são as seguintes:

  • Quando a propriedade do objeto filho é nula no XML, seu valor é padrão para o valor herdado. No entanto, se você consultar o valor do servidor, o servidor retornará o valor nulo do elemento XML.

  • Não é possível determinar programaticamente se a propriedade de um objeto filho foi definida diretamente no objeto filho ou herdada.

Alguns elementos têm padrões definidos que se aplicam quando o elemento está ausente. Por exemplo, os Dimension elementos no fragmento XML a seguir são equivalentes mesmo que um Dimension elemento contenha um Visible elemento, mas o outro Dimension elemento não.

<Dimension>

<Name>Product</Name>

</Dimension>

<Dimension>

<Name>Product</ Name>

<Visible>true</Visible>

</Dimension>

Para obter mais informações sobre padrões herdados, consulte AsSL Objects and Object Characteristics.