# Regras Gerais do XML

### Regras Gerais <a href="#general-rule" id="general-rule"></a>

Aqui estão as regras gerais para enviar com sucesso dados de certificação através de um arquivo XML:

<table data-header-hidden><thead><tr><th width="222"></th><th></th></tr></thead><tbody><tr><td><strong>Formato de Arquivo</strong></td><td>O formato do arquivo deve ser <code>.xml</code></td></tr><tr><td><strong>Tamanho do Arquivo</strong></td><td>O tamanho máximo do arquivo para arquivos XML é de 50MB. Se o seu arquivo XML for maior que 50MB, você precisa dividi-lo e enviar vários arquivos com menos de 50MB cada.</td></tr><tr><td><strong>Nome do Arquivo</strong></td><td>O IAF CertSearch recomenda que você nomeie seus arquivos usando os seguintes formatos:Único: <code>cb_certs.xml</code>Vários arquivos: <code>cb_certs_1.xml</code>, <code>cb_certs_2.xml</code>, <code>cb_certs_3.xml</code></td></tr><tr><td><strong>Tag XML</strong></td><td>As tags XML devem ser iguais às do modelo. Se forem alteradas, o IAF CertSearcg não reconhecerá os dados do campo e eles não serão enviados<strong>.</strong></td></tr><tr><td><strong>Sequência de Tag XML</strong></td><td>As tags devem estar na ordem e devem ser as mesmas do modelo. Se forem alteradas, o IAF CertSearch não reconhecerá as guias e os dados nessas guias não serão enviados.</td></tr></tbody></table>

## Compreensão do formato de arquivo XML

### Notas Importantes

1. **Os documentos XML devem conter um elemento raiz que é o pai de todos os outros elementos:**\
   Para upload de certificado, o elemento raiz é `<client_certs></client_certs>`\\
2. Essa linha é chamada de **prólogo XML**: `<?xml version="1.0" encoding="UTF-8?">`\
   O prólogo XML é opcional. Se existir, deve vir primeiro no documento. Documentos XML podem conter caracteres internacionais, como o øæå norueguês ou o êèé francês. Para evitar erros, você deve especificar a codificação usada, ou salvar seus arquivos XML como UTF-8. UTF-8 é a codificação de caracteres padrão para documentos XML.\\
3. **Todos os Elementos XML Devem Ter uma Tag de Fechamento**\
   As tags XML são sensíveis a maiúsculas e minúsculas. A tag é diferente da tag. As tags de abertura e fechamento devem ser escritas da mesma forma:\
   \
   qualquer tag que fique sem fechar resultará em um erro: **Arquivo XML inválido enviado**\ <mark style="color:red;">**Errado:**</mark> <mark style="color:red;">`<certification_body_identity_number>%VALOR AQUI`</mark>\
   \ <mark style="color:green;">**Correto:**</mark> <mark style="color:green;">`<certification_body_identity_number>%VALOR AQUI</certification_body_identity_number>`</mark>\
   \\
4. **Os Elementos XML Devem Ser Aninhados Corretamente**

   No XML, todos os elementos devem ser aninhados corretamente:\
   \ <mark style="color:red;">**Errado:**</mark>\ <mark style="color:red;">\<certification\_identity\_number></mark>\
   CERT-0001<mark style="color:red;">\</certification\_identity\_number></mark>\
   \
   \ <mark style="color:green;">**Correto:**</mark>\
   \<certification>\
   \<certification\_identity\_number>CERT-0001\</certification\_identity\_number>\</certification>\\
5. **Tags não podem conter espaços em branco**\
   **por exemplo** <mark style="color:red;">`<certification identity number>`</mark>\
   O sistema não reconhecerá essa sintaxe e lançará um erro: **Arquivo XML inválido enviado**\\
6. **Todas as tags pai devem ser incluídas ao enviar um arquivo XML,** se as tags pai estiverem ausentes, o sistema lançará um erro: **Arquivo XML inválido enviado**\\
7. **Se o certification\_standard\_and\_scheme e seus filhos estiverem vazios**, o sistema lançará um erro: **Arquivo XML inválido enviado**\\
8. **Tags inválidas para campos opcionais não dispararão um erro**, mas os dados adicionados dentro da tag não serão exibidos no sistema\
   \ <mark style="color:green;">**Correto:**</mark><mark style="color:green;">`<original_issue_date>01/20/2021</original_issue_date>`</mark>\ <mark style="color:red;">**Errado (do arquivo):**</mark> <mark style="color:red;">\<orig\_issued\_date>01/20/2021\</orig\_issued\_date></mark>\
   \
   **Dados exibidos no sistema**\
   Data de Emissão Original: *(vazio)*

### Faça e Não faça ao formatar dados em um XML

Coisas a ter em mente ao preencher seus dados em um arquivo XML.

### <mark style="color:green;">**Faça**</mark>

1. **Entrada de valor de dados único por tag**

   Certifique-se de que apenas valores de dados únicos sejam inseridos em uma tag. Ao enviar vários valores de dados, não inclua mais de um valor de dados em uma tag.
2. **Mantenha o formato dos dados consistente**

   Uma inconsistência em espaços, maiúsculas e minúsculas e outros tipos de formatação causará um erro e os dados não serão correspondidos
3. **Mantenha a sintaxe semelhante ao que é fornecido no modelo**

### <mark style="color:red;">**Não faça**</mark>

1. **Não deixe os campos obrigatórios em branco ou vazios**
2. **Não adicione dados múltiplos a uma única tag**
3. **Não junte vários dados em uma única tag**
