Atualizando os schemas xml para a nova versão #128
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Nesse pull request faço a atualização dos schemas xmls para a última versão. Analisando as alterações nos arquivos xsd, acredito que não teremos problemas de quebras de versões antigas. Notem que foi adicionado um campo opcional
vAdiant
que já está sendo tratado na classe Make, e os campos de número de parcela e data de vencimento são obrigatórios (na classe make eles já eram).O schema xml baixei daqui: https://dfe-portal.svrs.rs.gov.br/Mdfe/Documentos
05/04/2021
Schema NT 2021.002
Pacote de Schemas que acompanha a NT 2021.002 do MDF-e
Obs: Fiz a correção do tipo string genérico, trocando:
<xs:pattern value="[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}"/>
por
<xs:pattern value="[!-ÿ]{1}[ -ÿ]*[!-ÿ]{1}|[!-ÿ]{1}"/>
Foram adicionados testes para comprovar o funcionamento. Tomei a liberdade de criar classes Fake para evitar a comunicação com webservices do governo. Também adicionei um certificado fake para conseguir assinar os documentos.
Tomei a liberdade de criar um arquivo para execução automática dos testes no GitHub (.github/workflows/ci.yml) que vão rodar os testes a cada alteração ou PR aqui no projeto futuramente. Podemos usar depois o recurso "matrix" para executar testes em mais versões do PHP. Só executei com a 7.4