Compartir a través de


Convenciones XML de ASSL

Analysis Services Scripting Language (ASSL) representa la jerarquía de objetos como un conjunto de tipos de elementos, cada uno de los cuales define los elementos secundarios que pueden contener.

Para representar la jerarquía de objetos, ASSL usa las siguientes convenciones XML:

  • Todos los objetos y propiedades se representan como elementos, excepto los atributos XML estándar, como "xml:lang".

  • Los nombres de elemento y los valores de enumeración siguen la convención de nomenclatura de Microsoft .NET Framework de mayúsculas y minúsculas Pascal sin caracteres de subrayado.

  • Se conserva el caso de todos los valores. Los valores de las enumeraciones también distinguen mayúsculas de minúsculas.

Además de esta lista de convenciones, Analysis Services también sigue ciertas convenciones relacionadas con la cardinalidad, la herencia, el espacio en blanco, los tipos de datos y los valores predeterminados.

Cardinalidad

Cuando un elemento tiene una cardinalidad mayor que 1, hay una colección de elementos XML que encapsula este elemento. El nombre de la colección usa la forma plural de los elementos contenidos en la colección. Por ejemplo, el siguiente fragmento XML representa la Dimensions colección dentro de un Database elemento :

<Database>

...

<Dimensions>

<Dimension>

...

</Dimension>

<Dimension>

...

</Dimension>

</Dimensions>

</Database>

``

El orden en el que aparecen los elementos no es importante.

Herencia

La herencia se usa cuando hay objetos distintos que tienen superposición, pero significativamente diferentes conjuntos de propiedades. Ejemplos de tales objetos superpuestos pero distintos son cubos virtuales, cubos vinculados y cubos normales. Para superponer pero un objeto distinto, Analysis Services usa el atributo estándar type del espacio de nombres de instancia XML para indicar la herencia. Por ejemplo, el siguiente fragmento XML muestra cómo el type atributo identifica si un Cube elemento hereda de un cubo normal o de un cubo virtual:

<Cubes>

<Cube xsi:type="RegularCube">

<Name>Sales</Name>

...

</Cube>

<Cube xsi:type="VirtualCube">

<Name>SalesAndInventory</Name>

...

</Cube>

</Cubes>

``

Por lo general, la herencia no se usa cuando varios tipos tienen una propiedad con el mismo nombre. Por ejemplo, las Name propiedades y ID aparecen en muchos elementos, pero estas propiedades no se han promocionado a un tipo abstracto.

Espacio en blanco

Se conserva el espacio en blanco dentro de un valor de elemento. Sin embargo, el espacio en blanco inicial y final siempre se recorta. Por ejemplo, los siguientes elementos tienen el mismo texto pero diferentes cantidades de espacio en blanco dentro de ese texto y, por tanto, se tratan como si tuvieran valores diferentes:

<Description>My text<Description>

<Description>My text<Description>

``

Sin embargo, los siguientes elementos varían solo en los espacios en blanco iniciales y finales y, por tanto, se tratan como si tuvieran valores equivalentes:

<Description>My text<Description>

<Description> My text <Description>

``

Tipos de datos

Analysis Services usa los siguientes tipos de datos estándar del lenguaje de definición de esquema XML (XSD):

Int
Valor entero en el intervalo de -231 a 231 - 1.

Long
Valor entero en el intervalo de -263 a 263 - 1.

String
Valor de cadena que se ajusta a las siguientes reglas globales:

  • Los caracteres de control se quitan.

  • Se recortan los espacios en blanco iniciales y finales.

  • Se conserva el espacio en blanco interno.

Name y ID las propiedades tienen limitaciones especiales sobre los caracteres válidos en los elementos de cadena. Para obtener información adicional sobre Name las convenciones y ID , vea AsSL Objects and Object Characteristics (Objetos ASSL y características de objeto).

DateTime
Estructura DateTime de .NET Framework. Un DateTime valor no puede ser NULL. La fecha más baja admitida por el tipo de datos es el DataTime 1 de enero de 1601, que está disponible para los programadores como DateTime.MinValue. La fecha admitida más baja indica que falta un DateTime valor.

Boolean
Enumeración con solo dos valores, como {true, false} o {0, 1}.

Valores predeterminados

Analysis Services usa los valores predeterminados enumerados en la tabla siguiente.

Tipo de datos de XML Valor predeterminado
Boolean Falso
String "" (cadena vacía)
Integer o Long 0 (cero)
Timestamp 12:00:00 a. m., 1/1/0001 (correspondiente a .NET Frameworks System.DateTime con 0 tics)

Un elemento que está presente pero vacío se interpreta como tener un valor de una cadena null, no el valor predeterminado.

Valores predeterminados heredados

Algunas propiedades especificadas en un objeto proporcionan valores predeterminados para la misma propiedad en objetos secundarios o descendientes. Por ejemplo, Cube.StorageMode proporciona el valor predeterminado para Partition.StorageMode. Las reglas que Analysis Services aplica para los valores predeterminados heredados son las siguientes:

  • Cuando la propiedad del objeto secundario es NULL en el XML, su valor predeterminado es el valor heredado. Sin embargo, si consulta el valor del servidor, el servidor devuelve el valor NULL del elemento XML.

  • No es posible determinar mediante programación si la propiedad de un objeto secundario se ha establecido directamente en el objeto secundario o se ha heredado.

Algunos elementos tienen valores predeterminados definidos que se aplican cuando falta el elemento. Por ejemplo, los Dimension elementos del fragmento XML siguiente son equivalentes aunque un Dimension elemento contenga un Visible elemento, pero el otro Dimension no.

<Dimension>

<Name>Product</Name>

</Dimension>

<Dimension>

<Name>Product</ Name>

<Visible>true</Visible>

</Dimension>

Para obtener más información sobre los valores predeterminados heredados, vea Objetos ASSL y Características de objeto.