Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Linguagem de Definição de Relatórios (RDL) é uma representação XML de uma definição de relatório do SQL Server Reporting Services (SSRS). Uma definição de relatório contém informações de recuperação de dados e layout para um relatório. O RDL é composto por elementos XML que correspondem a uma gramática XML criada para o Reporting Services. Pode personalizar funções para controlar valores, estilos e formatação dos itens de relatório, acedendo a assemblies de código dentro dos ficheiros de definição de relatório.
O RDL promove a interoperabilidade de produtos de relatórios comerciais definindo um esquema comum que permite o intercâmbio de definições de relatório. RDL é:
- Um esquema XML para definições de relatório.
- Um formato de intercâmbio para empresas e terceiros.
- Um esquema extensível e aberto que suporta mais namespaces e elementos personalizados.
Pré-requisitos
Qualquer protocolo ou interface programática que funcione com XML pode ser usado com RDL.
Especificações RDL
Para baixar especificações para versões específicas do esquema, consulte Especificação da linguagem de definição de relatório.
Definição de Esquema XML RDL
Um ficheiro RDL SSRS é validado utilizando um ficheiro XML Schema Definition (XSD). O esquema define as regras para onde os elementos RDL podem ocorrer em um arquivo .rdl. Um elemento inclui o seu tipo de dado e cardinalidade, que é o número de ocorrências permitidas. Um elemento pode ser simples ou complexo. Um elemento simples não tem elementos subordinados nem atributos. Um elemento complexo tem elementos filhos e pode ter 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 Tipo.
- Um elemento ReportParameters pode ser contido pelo elemento Report (um tipo complexo) e pode conter elementos ReportParameter .
- Um ReportParameterType é um tipo simples que só pode ser um dos seguintes valores: Boolean, DateTime, Integer, Float ou String.
Para obter mais informações sobre tipos de dados do esquema XML, consulte Esquema XML Parte 2: Datatypes Second Edition.
O RDL XSD está disponível no ficheiro ReportDefinition.xsd, localizado na pasta Extras no CD-ROM do produto. Também está disponível no servidor de relatórios através do seguinte URL: https://servername/reportserver/reportdefinition.xsd.
Criar RDL
Construir ferramentas e aplicações que gerem RDL com base no seu esquema XML devido à natureza aberta e extensível do RDL.
O Reporting Services fornece múltiplas ferramentas para construir ficheiros RDL. Para mais informações, consulte Ferramentas de Serviços de Relatório.
- Gerar RDL a partir de uma aplicação utilizando as classes do Microsoft .NET Framework dos espaços de nomes System.Xml e System.Linq.
- Usa o XmlTextWriter para escrever RDL. Com XmlTextWriter, você pode gerar uma definição de relatório completa do início ao fim em qualquer aplicativo .NET Framework. Para mais informações sobre a classe XmlTextWriter e o System.Xml namespace, consulte o Guia do Desenvolvedor do Microsoft .NET Framework.
Os programadores podem estender o RDL adicionando itens de relatório personalizados com propriedades personalizadas. Para mais informações sobre o Language-Integrated Query (LINQ), pesquise por "LINQ para XML" no Microsoft Developer Network.
A extensão padrão de ficheiro para um ficheiro de definição de relatório é .rdl. Pode desenvolver ficheiros de definição de relatórios de clientes, que têm as extensões .rdlc. O tipo MIME para ambas as extensões é texto/xml. Para mais informações, consulte Reporting Services Reports (SSRS).
Tipos RDL
A tabela a seguir lista os tipos usados em elementos e atributos RDL.
| Tipo | Descrição |
|---|---|
| Binário | Uma propriedade com um valor binário codificado em base 64. |
| Booleano | Uma propriedade com true ou false como o valor do objeto. A menos que especificado de outra forma, o valor de um objeto booleano opcional omitido é False. |
| Date | Uma propriedade com um valor de data ou data/hora totalmente especificado no formato de data ISO8601: AAAA-MM-DD[THH:MM[:SS[.S]]]. |
| Enum | Uma propriedade com um valor de texto de cadeia de caracteres que deve ser um de uma lista de valores designados. |
| Flutuador | Uma propriedade com um valor de ponto flutuante. Um ponto (.) é usado como separador decimal opcional. |
| Inteiro | Uma propriedade com um valor (int32) inteiro. |
| Language | Uma propriedade com um valor de texto que contém um código de idioma e cultura, como "en-us" para inglês dos EUA. O valor deve ser uma linguagem específica ou uma linguagem neutra para a qual uma linguagem padrão é 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. Se não for especificado, o namespace de um item é o objeto de menor escopo que tem um nome. |
| NormalizedString | Uma propriedade com um valor de texto em cadeia normalizado. |
| Size | Um elemento de tamanho deve conter um número com um carácter de ponto usado como separador decimal opcional. Um designador para uma unidade de comprimento CSS, como cm, mm, in, pt ou pc, deve seguir o número. Um espaço entre o número e o designador é opcional. Para mais informações, consulte Valores CSS e Referência de Unidades. Em RDL, o valor máximo para Tamanho é 160 polegadas. O tamanho mínimo é zero polegadas. |
| String | Uma propriedade com um valor de texto de cadeia de caracteres. |
| UnsignedInt | Uma propriedade com um valor inteiro não assinado (uint32). |
| Variante | Uma propriedade com qualquer tipo XML simples. |
Tipos de Dados RDL
A Enumeração de Tipos de Dados define o tipo de dados de um atributo, expressão ou parâmetro em RDL. A tabela a seguir mostra como os tipos de dados CLR (Common Language Runtime) correspondem aos tipos de dados RDL.
| Tipo(s) de CLR | Tipo de dados correspondente |
|---|---|
| booleano | booleano |
| DataHora, DataTempoOffset | DateTime |
| Int16, Int32, UInt16, Byte, SByte | Integer |
| Solteiro, Duplo | Flutuar |
| String, Char, GUID, Intervalo de Tempo | String |