Linguagem RDL (SSRS)

A linguagem RDL é uma representação XML de uma definição de relatório do SQL Server Reporting Services. Uma definição de relatório contém informações de layout e recuperação de dados de um relatório. A linguagem RDL é composta por elementos XML que correspondem a uma gramática XML criada para o Reporting Services. Você pode adicionar suas próprias funções personalizadas para controlar valores de itens de relatório, estilos e formatação com o acesso a assemblies de código de arquivos de definição de relatório.

A linguagem RDL promove a interoperabilidade de produtos de relatórios comerciais definindo um esquema comum que habilita o intercâmbio de definições de relatório. Qualquer protocolo ou interface programática que funcione com o XML pode ser usada com a linguagem RDL. A linguagem RDL é:

  • Um esquema XML para definições de relatório.

  • Um formato de intercâmbio para negócios e terceiros.

  • Um esquema extensível e aberto que dá suporte a namespaces adicionais e elementos personalizados.

Especificações de RDL

Para baixar as especificações de versões de esquema específicas, consulte Especificação da linguagem RDL.

Definição de esquema XML RDL

Um arquivo RDL (Linguagem RDL) SQL Server Reporting Services é validado com o uso de um arquivo XML XSD (definição de esquema XML). O esquema define as regras para onde os elementos RDL podem ocorrer em um arquivo .rdl. Um elemento inclui seu tipo de dados e cardinalidade, isto é, o número de ocorrências que são permitidas. Um elemento pode ser simples ou complexo. Um elemento simples não tem elementos filhos ou atributos. Um elemento complexo tem filhos e, opcionalmente, atributos.

Por exemplo, o esquema inclui o elemento RDL ReportParameters, que é o tipo complexo ReportParametersType. Por convenção, um tipo complexo para um elemento é o nome do elemento seguido da palavra Type. Um elemento ReportParameters pode estar contido no elemento Report (um tipo complexo) e pode conter elementos ReportParameter . Um ReportParameterType é um tipo simples que pode ser somente um dos seguintes valores: Boolean, DateTime, Integer, Floatou String. Para obter mais informações sobre os tipos de dados de Esquema XML, consulte XML Schema Part 2: Datatypes Second Edition(em inglês).

O RDL XSD está disponível no arquivo ReportDefinition.xsd, localizado na pasta Extras no CD-ROM do produto. Ele também está disponível no servidor de relatório por meio da seguinte URL: https://servername/reportserver/reportdefinition.xsd.

Criando RDL

Devido à natureza aberta e extensível da linguagem RDL, várias ferramentas e aplicativos podem ser criados para gerar a linguagem RDL com base em seu esquema XML.

Reporting Services fornece várias ferramentas para compilar arquivos RDL. Para obter mais informações, consulte Ferramentas do Reporting Services.

Uma das maneiras mais fáceis de gerar a linguagem RDL com um aplicativo é usar as classes Microsoft .NET Framework do namespace System.Xml e do namespace System.Linq. Uma classe específica, a classe XmlTextWriter , pode ser usada para gravar RDL. Com o XmlTextWriter, você pode gerar uma definição de relatório completa do começo ao fim em qualquer aplicativo do .NET Framework . Os desenvolvedores também podem estender a linguagem RDL adicionando itens de relatório personalizados com propriedades personalizadas. Para obter mais informações sobre a classe XmlTextWriter e o namespace System.Xml, confira o Guia do Desenvolvedor do Microsoft .NET Framework. Para obter mais informações sobre a LINQ (Language-Integrated Query, consulta integrada à linguagem), pesquise "LINQ para XML" no MSDN.

A extensão de arquivo padrão para arquivos de definição de relatório é .rdl. Você também pode desenvolver arquivos de definição de relatório de cliente que têm as extensões .rdlc. O tipo de MIME para ambas as extensões é texto/xml. Para obter mais informações sobre feeds de dados de relatórios do SQL Server Reporting Services, confira Relatórios do Reporting Services (SSRS).

Tipos RDL

A tabela a seguir lista os tipos usados em elementos e atributos RDL.

Tipo Descrição
Binary Uma propriedade com um valor binário codificado na base 64.
Booliano Uma propriedade que define o valor do objeto como true ou false . A menos que seja especificado o contrário, o valor de um objeto Booliano opcional omitido é False.
Data Uma propriedade com data ou valor de data/hora completamente especificados no formato de data ISO8601: YYYY-MM-DD[THH:MM[:SS[.S]]].
Enumeração Uma propriedade com um valor de texto de cadeia de caracteres que deve estar na lista de valores designados.
Valor Flutuante Uma propriedade com um valor flutuante. O ponto (.) é usado como o separador decimal opcional.
Inteiro Uma propriedade com um valor inteiro (int32).
Idioma Uma propriedade com um valor de texto que contém linguagem e código de cultura, como "pt-br" para português do Brasil. O valor deve ser composto por uma linguagem específica ou neutra para qual a linguagem padrão possa ser definida no Microsoft .NET Framework.
Nome Uma propriedade com um valor de texto de cadeia de caracteres. Os nomes devem ser exclusivos dentro do namespace do item. Caso não seja especificado, o namespace de um item é o objeto interno que contém o nome.
NormalizedString Uma propriedade com um valor de texto de cadeia de caracteres que foi normalizado.
Tamanho Um elemento de tamanho deve conter um número (com um caractere de período usado como um separador decimal opcional). O número deve ser seguido por um designador para uma unidade de comprimento de CSS como cm, mm, in, pc ou pt. Um espaço entre o número e o designador é opcional. Para obter mais informações sobre designadores de tamanho, confira Referência de Unidades e Valores de CSS.

No RDL, o valor máximo de Size é de 160 polegadas. O tamanho mínimo é de 0 polegada.
Cadeia de caracteres Uma propriedade com um valor de texto de cadeia de caracteres.
UnsignedInt Uma propriedade com um valor inteiro não atribuído (uint32).
Variante Uma propriedade com qualquer tipo de XML simples.

Tipos de dados RDL

A enumeração DataType define o tipo de dados de um atributo, expressão ou parâmetro no RDL. A tabela a seguir mostra como os tipos de dados CLR (Common Language Runtime) correspondem aos tipos de dados RDL.

Tipo(s) CLR Tipo de dados correspondente
Booliano Boolean
DateTime, DateTimeOffset Datetime
Int16, Int32, UInt16, Byte, SByte Integer
Single e Double Float
String, Char, GUID, Timespan String

Consulte Também

Localizar a versão do esquema de definição de relatório (SSRS)
Usar assemblies personalizados com relatórios
Itens de relatório personalizados