Conventions XML
Le langage de script ASSL (Analysis Services Scripting Language) représente la hiérarchie d'objets comme un ensemble de types d'élément, chacun d'entre eux définissant les éléments enfants qu'il contient.
Pour représenter la hiérarchie d'objets, ASSL utilise les conventions XML suivantes :
Tous les objets et propriétés sont représentés en tant qu'éléments, à l'exception des attributs XML standard tels que « xml:lang ».
Les noms d'élément et les valeurs d'énumération suivent la convention d'affectation de noms Microsoft .NET Framework, à savoir, une casse Pascal sans traits de soulignement.
La casse de toutes les valeurs est préservée. Les valeurs des énumérations respectent également la casse.
En plus de cette liste de conventions, ASSL suit également certaines conventions en matière de cardinalité, d'héritage, d'espaces, de types de données et de valeurs par défaut.
[!REMARQUE]
Pour obtenir des informations supplémentaires sur la description, le type, la cardinalité et la valeur par défaut de chaque élément, ainsi que d'autres informations pertinentes, consultez Éléments XML ASSL (Analysis Services Scripting Language).
Cardinalité
Lorsque la cardinalité d'un élément est supérieure à 1, cela signifie qu'il existe une collection d'éléments XML qui englobe cet élément. Le nom de la collection correspond à la forme pluriel des éléments contenus dans la collection. Par exemple, le fragment XML suivant représente la collection Dimensions au sein d'un élément Database :
<Database>
…
<Dimensions>
<Dimension>
...
</Dimension>
<Dimension>
...
</Dimension>
</Dimensions>
</Database>
L'ordre d'apparition des éléments n'a pas d'importance.
Héritage
L'héritage est utilisé lorsqu'il existe des objets distincts dont les ensembles de propriétés se chevauchent en dépit de leur différence très marquée. Les cubes virtuels, les cubes liés et les cubes réguliers sont des exemples d'objets qui se chevauchent malgré leurs différences. Pour les objets distincts qui se chevauchent, ASSL fait appel à l'attribut type standard de l'espace de noms d'instances XML pour indiquer l'héritage. Par exemple, le fragment XML suivant indique comment l'attribut type détermine si un élément Cube hérite d'un cube régulier ou d'un cube virtuel :
<Cubes>
<Cube xsi:type=”RegularCube”>
<Name>Sales</Name>
...
</Cube>
<Cube xsi:type=”VirtualCube”>
<Name>SalesAndInventory</Name>
...
</Cube>
</Cubes>
En règle générale, l'héritage n'est pas utilisé lorsque plusieurs types partagent un même nom de propriété. Par exemple, les propriétés Name et ID apparaissent dans de nombreux éléments, mais ces propriétés n'ont pas été promues en type abstrait.
Espaces
Les espaces contenus dans la valeur d'un élément sont conservés. Toutefois, les espace de début et de fin sont toujours supprimés. Par exemple, les éléments suivants comportent le même texte, mais le nombre d'espaces contenus dans le texte varie d'un élément à un autre, si bien que leurs valeurs sont considérés comme étant différentes :
<Description>My text<Description>
<Description>My text<Description>
Toutefois, les éléments suivants ne se distinguent qu'au niveau des espaces de début et de fin. Ils sont donc considérés comme des valeurs équivalentes :
<Description>My text<Description>
<Description> My text <Description>
Types de données
Le langage ASSL utilise les types de données XSD (XML Schema definition language) standard suivants :
Int
Valeur entière comprise entre -231 et 231 – 1.Long
Valeur entière comprise entre -263 et 263 – 1.String
Valeur de chaîne conforme aux règles globales suivantes :les caractères de contrôle sont supprimés ;
les espaces de début et de fin sont supprimés ;
les espaces internes sont conservés.
Les propriétés Name et ID imposent des limitations spéciales en matière de validité des caractères dans les éléments de chaîne. Pour plus d'informations sur les conventions des propriétés Name et ID, consultez Objets et caractéristiques des objets.
DateTime
Structure DateTime du .NET Framework. Une valeur DateTime ne peut pas être NULL. La date la plus reculée prise en charge par le type de données DataTime est le 1er janvier 1601, qui est accessible aux programmeurs via DateTime.MinValue. La présence de cette date indique qu'il manque une valeur DateTime.Boolean
Énumération constituée de seulement deux valeurs, telles que {true, false} ou {0, 1}.
Valeurs par défaut
Le langage ASSL utilise les valeurs par défaut répertoriées dans le tableau suivant.
Type de données XML |
Valeur par défaut |
---|---|
Boolean |
False |
String |
"" (chaîne vide) |
Integer ou Long |
0 (zéro) |
Timestamp |
12:00:00, 1/1/0001 (correspondant à System.DateTime du .NET Frameworks avec 0 battement) |
Un élément qui est présent mais vide est considéré comme ayant une valeur de chaîne null, et non la valeur par défaut.
Valeurs par défaut héritées
Certaines propriétés définies au niveau d'un objet fournissent les valeurs par défaut des mêmes propriétés au niveau des objets enfants ou descendants. Par exemple, Cube.StorageMode fournit la valeur par défaut de Partition.StorageMode. Les règles appliquées par ASSL en matière de valeurs par défaut héritées sont les mêmes que celles de DSO 8.0.
Lorsque la propriété de l'objet enfant a la valeur NULL dans l'élément XML, sa valeur par défaut est la valeur héritée. Toutefois, si vous interrogez le serveur à propos de la valeur, le serveur renvoie la valeur NULL de l'élément XML.
Il n'est pas possible de déterminer par programme si la propriété d'un objet enfant a été définie directement sur l'objet enfant ou héritée.
Certains éléments possèdent des valeurs par défaut définies qui s'appliquent lorsque ces éléments sont manquants. Par exemple, dans le fragment XML suivant, les éléments Dimension sont équivalents bien qu'un élément Dimension contienne un élément Visible mais que l'autre élément Dimension n'en contient pas.
<Dimension>
<Name>Product</Name>
</Dimension>
<Dimension>
<Name>Product</ Name>
<Visible>true</Visible>
</Dimension>
Pour plus d'informations sur les valeurs par défaut héritées, consultez Objets et caractéristiques des objets.