Convenções de XML do ASSL
Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
A ASSL (Analysis Services Scripting Language) representa a hierarquia de objetos como um conjunto de tipos de elementos, cada um definindo os elementos filhos que podem conter.
Para representar a hierarquia de objeto, a ASSL usa as seguintes convenções XML:
Todos os objetos e propriedades são representados como elementos, exceto para atributos XML padrão, como 'xml:lang'.
Os nomes de elemento e os valores de enumeração seguem a convenção de nomenclatura do Microsoft .NET Framework de combinação de maiúsculas e minúsculas de Pascal sem sublinhados.
Os valores de maiúsculas e minúsculas é preservado. Os valores para enumerações também apresentam diferenciação de maiúsculas e minúsculas.
Além dessa lista de convenções, o Analysis Services segue também certas convenções relativas a cardinalidade, a herança, a espaço em branco, a tipos de dados e a valores padrão.
Cardinalidade
Quando um elemento tiver uma cardinalidade maior do que 1, haverá uma coleção de elementos XML que encapsula esse elemento. O nome de coleção usa a forma plural dos elementos contidos na coleção. Por exemplo, o fragmento XML a seguir representa a coleção Dimensions em um elemento Database :
<Database>
...
<Dimensions>
<Dimension>
...
</Dimension>
<Dimension>
...
</Dimension>
</Dimensions>
</Database>
``
A ordem na qual os elementos aparecem não tem importância.
Herança
A herança é usada quando existem objetos distintos com sobrepostos mas significativamente diferentes de propriedades. Exemplos desses objetos sobrepostos mas distintos são cubos virtuais, cubos vinculados e cubos normais. Para objeto sobreposto, mas distinto, o Analysis Services usa o atributo de tipo padrão do Namespace da Instância XML para indicar a herança. Por exemplo, o fragmento XML a seguir mostra como o atributo de tipo identifica se um elemento Cube 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>
``
Geralmente, a herança não é usada quando vários tipos têm uma propriedade com o mesmo nome. Por exemplo, as propriedades Name e 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, os espaços em branco inicial e final são sempre retirados. Por exemplo, os elementos a seguir contêm o mesmo texto mas quantidades diferentes de espaços em branco no texto e, portanto, são tratados como se tivessem valores diferentes:
<Description>My text<Description>
<Description>My text<Description>
``
Entretanto, os elementos a seguir só variam nos espaços em branco inicial e final e, portanto, serã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 - 1.
Long
Um valor inteiro no intervalo de -263 a 263 - 1.
Cadeia de caracteres
Um valor de cadeia de caracteres em conformidade com as seguintes regras globais:
Os caracteres de controle são retirados.
Os espaços em branco inicial e final são retirados.
O espaço em branco interno é preservado.
As propriedades Name e ID têm limitações especiais em caracteres válidos em elementos de cadeia de caracteres. Para obter informações adicionais sobre convenções de Nome e ID , consulte Objetos ASSL e Características do Objeto.
DateTime
Uma estrutura DateTime do .NET Framework. Um valor DateTime não pode ser NULL. A data mais baixa compatível com o tipo de dados DataTime é 1º de janeiro de 1601, que está disponível para programadores como DateTime.MinValue. A data mais baixa com suporte indica que um valor DateTime está ausente.
Booliano
Uma enumeração só com dois valores, como {verdadeiro, falso} ou {0, 1}.
Valores padrão
O Analysis Services usa os padrões listados na tabela seguinte.
Tipo de dados XML | Valor padrão |
---|---|
Booliano | Falso |
Cadeia de caracteres | "" (cadeia de caracteres vazia) |
Inteiro ou Longo | 0 (zero) |
Timestamp | 12:00:00, 1/1/0001 (correspondente a um System.DateTime do .NET Frameworks com 0 tiques) |
Um elemento que está presente mas vazio será interpretado como tendo um valor de uma cadeia de caracteres nula, e não como o valor padrão.
Padrões herdados
Algumas propriedades especificadas em um objeto fornecem valores padrão para a mesma propriedade em objetos filhos ou descendentes. 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 for nula no XML, o padrão do seu valor será o valor herdado. No entanto, se você consultar o valor a partir do servidor, este retornará o valor nulo do elemento XML.
Não é possível determinar programaticamente se a propriedade ou objeto filho foi definida corretamente no objeto filho ou herdado.
Alguns elementos definiram padrões que se aplicarão quando o elemento estiver ausente. Por exemplo, os elementos Dimension no fragmento XML a seguir são equivalentes, embora um elemento Dimension contenha um elemento Visible , mas o outro elemento Dimension 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 Objetos ASSL e Características do Objeto.