Partilhar via


Linguagem RDL (SSRS)

RDL (Linguagem de Definição de Relatório) é 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 sobre a recuperação de dados e o layout de um relatório. A linguagem RDL é composta por elementos XML que correspondem a uma gramática XML criada para o Reporting Services. É possível adicionar suas próprias funções personalizadas para controlar os valores do item de relatório, os estilos e a formatação acessando os assemblies de código nos 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 de Definição de Relatório) do SQL Server Reporting Services é validado usando um arquivo 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, ou seja, o número de ocorrências permitidas. Um elemento pode ser simples ou complexo. Um elemento simples não tem elementos subordinados ou atributos. Um elemento complexo tem filhos e, opcionalmente, atributos.

Por exemplo, o esquema inclui o elemento ReportParametersRDL, que é o tipo ReportParametersTypecomplexo. Por convenção, um tipo complexo para um elemento é o nome do elemento seguido pela palavra Type. Um ReportParameters elemento pode ser contido pelo Report elemento (um tipo complexo) e pode conter ReportParameter elementos. Um ReportParameterType é um tipo simples que só pode ser um dos seguintes valores: Boolean, , DateTime, Integer, ou FloatString. 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 do RDL, uma variedade de ferramentas e aplicativos pode ser criada que geram 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 RDL de um aplicativo é usar as classes do Microsoft .NET Framework do namespace System.Xml e do namespace System.Linq. Uma classe em particular, 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 o RDL adicionando itens de relatório personalizados com propriedades personalizadas. Para obter mais informações sobre a classe XmlTextWriter e o System.Xml namespace, consulte o Guia do Desenvolvedor do Microsoft .NET Framework. Para obter mais informações sobre Language-Integrated Query (LINQ), pesquise por "LINQ to 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 do 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 relatórios, consulte 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.
Boolean Uma propriedade com true ou false como o valor do objeto. A menos que especificado de outra forma, o valor de um objeto booliano opcional omitido é False.
Date Uma propriedade com data ou valor de data/hora completamente especificados no formato de data ISO8601: YYYY-MM-DD[THH:MM[:SS[.S]]].
Enum Uma propriedade com um valor de texto de cadeia de caracteres que deve estar na lista de valores designados.
Float Uma propriedade com um valor flutuante. O ponto (.) é usado como o separador decimal opcional.
Integer Uma propriedade com um valor inteiro (int32).
Language 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.
Name 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 em string que foi normalizado.
Size Um elemento de tamanho deve conter um número (com um caractere de período usado como separador decimal opcional). O número deve ser seguido por um designador para uma unidade de comprimento CSS, como cm, mm, in, pt ou pc. Um espaço entre o número e o designador é opcional. Para obter mais informações sobre designadores de tamanho, consulte Referência de unidades de comprimento CSS.

Em RDL, o valor máximo para Size é 160 pol. O tamanho mínimo é de 0 polegada.
String Uma propriedade com um valor de texto de cadeia de caracteres.
UnsignedInt Uma propriedade com um valor inteiro não atribuído (uint32).
Variant 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 Booliano
DateTime, DateTimeOffset Data e Hora
Int16, Int32, UInt16, Byte, SByte Número Inteiro
Single e Double Flutuar
Cadeia de caracteres, Char, GUID, Timespan fio

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