icmbio/xform

Biblioteca PHP para processamento e manipulação de XForms do ICMBio

Installs: 177

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Forks: 0

pkg:composer/icmbio/xform

v0.0.7 2025-12-03 17:34 UTC

This package is auto-updated.

Last update: 2026-01-03 21:00:34 UTC


README

Latest Version PHP Version License

Biblioteca PHP para processamento e manipulação de XForms do ICMBio, facilitando a coleta e análise de dados de pesquisa de campo.

📋 Características

  • ✅ Processamento de formulários XForm
  • ✅ Suporte a attachments (mídia)
  • ✅ Manipulação de dados geográficos (geopoint)
  • ✅ Grupos repetitivos (repeat groups)
  • ✅ Instâncias de survey
  • ✅ Integração OSM (OpenStreetMap)

🚀 Instalação

composer require icmbio/xform

📖 Uso Básico

<?php

use Icmbio\Xform\Xform;

// Inicializar o XForm
$xform = new Xform();

// Processar um formulário
$result = $xform->process($xmlData);

// Trabalhar com attachments
$attachments = $xform->getAttachments();

// Manipular dados geográficos
$geoData = $xform->getGeoData();

🔧 Funcionalidades

Processamento de Survey

use Icmbio\Xform\Concerns\SurveyInstance;

$survey = new SurveyInstance();
$data = $survey->processInstance($xmlContent);

Attachments (Mídia)

use Icmbio\Xform\Concerns\SurveyAttachment;

$attachment = new SurveyAttachment();
$files = $attachment->extractAttachments($formData);

Dados Geográficos

use Icmbio\Xform\Concerns\SurveyGeo;

$geo = new SurveyGeo();
$coordinates = $geo->extractGeopoints($surveyData);

Grupos Repetitivos

use Icmbio\Xform\Concerns\SurveyGroupRepeat;

$repeats = new SurveyGroupRepeat();
$groups = $repeats->processRepeats($formData);

📚 Documentação

Para documentação completa, exemplos avançados e guias de integração, visite:

🔍 Requisitos

  • PHP 8.1 ou superior
  • Extensões PHP: xml, json

🧪 Testes

composer test

📄 Licença

Este projeto está licenciado sob a Licença MIT.

🤝 Contribuição

Contribuições são bem-vindas! Por favor:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-funcionalidade)
  3. Commit suas mudanças (git commit -am 'Adiciona nova funcionalidade')
  4. Push para a branch (git push origin feature/nova-funcionalidade)
  5. Abra um Pull Request

📞 Suporte

Para dúvidas, sugestões ou reportar bugs:

🏛️ Sobre o ICMBio

Instituto Chico Mendes de Conservação da Biodiversidade - ICMBio

  • Website: icmbio.gov.br
  • Missão: Proteger e conservar a biodiversidade brasileira

Feito com ❤️ para a conservação da biodiversidade brasileira.