Convenções XML
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 as propriedades são representadas como elementos, com exceção de 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, a ASSL 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.
Observação |
---|
Para obter mais informações sobre a descrição, o tipo, a cardinalidade e o valor padrão de cada elemento, além de informações adicionais pertinentes, consulte Elementos XML do ASSL (Analysis Services Scripting Language). |
Cardinality
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 objetos sobrepostos mas distintos, a ASSL usa o atributo type padrão do Namespace Instance XML para indicar a herança. Por exemplo, o fragmento XML a seguir mostra como o atributo type identifica se um elemento Cube herda de um cubo normal 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 não foram elevadas 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
A ASSL usa os seguintes tipos de dados XSD (linguagem de definição de esquema XML) padrão:
Int
Um valor inteiro no intervalo de -231 até 231 – 1.Long
Um valor inteiro no intervalo de -263 até 263 – 1.String
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 de caracteres válidos em elementos de cadeia de caracteres. Para obter informações adicionais sobre as convenções de Name e de ID, consulte Objetos e características de objeto.
DateTime
Uma estrutura DateTime do .NET Framework. Um valor DateTime não pode ser NULL. A data mais antiga suportada pelo tipo de dados DataTime é 1º de janeiro de 1601, disponível a programadores como DateTime.MinValue. A data mais antiga suportada indica que um valor DateTime está ausente.Boolean
Uma enumeração só com dois valores, como {verdadeiro, falso} ou {0, 1}.
Valores padrão
A ASSL usa os padrões listados na tabela a seguir.
Tipo de dados XML |
Valor padrão |
---|---|
Boolean |
False |
String |
"" (cadeia de caracteres vazia) |
Integer ou Long |
0 (zero) |
Timestamp |
12:00:00 AM, 1/1/0001 (correspondente ao 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 aplicadas pela ASSL para valores padrão herdados são as mesmas do DSO 8.0 (Decision Support Objects):
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 do fragmento XML a seguir são equivalentes, mesmo se um elemento Dimension contiver um elemento Visible e se 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 e características de objeto.