{"id":622,"name":null,"description":"Easy API for working with XML documents","url":"https://github.com/maik/xml-simple","last_synced_at":"2026-04-30T01:30:16.416Z","repository":{"id":1326593,"uuid":"1272100","full_name":"maik/xml-simple","owner":"maik","description":"Easy API for working with XML documents","archived":false,"fork":false,"pushed_at":"2021-01-21T20:15:08.000Z","size":273,"stargazers_count":88,"open_issues_count":4,"forks_count":27,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-22T08:33:12.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maik.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-19T19:44:24.000Z","updated_at":"2025-02-18T18:25:56.000Z","dependencies_parsed_at":"2022-07-14T17:47:53.181Z","dependency_job_id":null,"html_url":"https://github.com/maik/xml-simple","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/maik/xml-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30919264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-25T07:55:14.202Z","status":"ssl_error","status_checked_at":"2026-03-25T07:55:10.924Z","response_time":80,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"maik","name":"Maik Schmidt","uuid":"22607","kind":"user","description":null,"email":"","website":"http://maik-schmidt.de","location":"Willich, Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22607?v=4","repositories_count":5,"last_synced_at":"2023-04-09T06:01:37.486Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/maik","funding_links":[],"total_stars":143,"followers":null,"following":null,"created_at":"2022-11-02T16:21:41.225Z","updated_at":"2024-03-25T17:33:12.170Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik/repositories"},"packages":[{"id":13606252,"name":"ruby-xml-simple","ecosystem":"debian","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:29:40.846Z","latest_release_published_at":"2026-02-11T11:29:40.846Z","latest_release_number":"1.1.5-1","last_synced_at":"2026-03-13T19:04:05.589Z","created_at":"2026-02-11T11:29:40.638Z","updated_at":"2026-03-13T19:04:05.589Z","registry_url":"https://tracker.debian.org/pkg/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":"https://packages.debian.org/buster/ruby-xml-simple","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-xml-simple","standards_version":"3.9.6","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 9~), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T15:15:30.438Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-xml-simple?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":915,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-04-27T18:20:39.693Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":13567393,"name":"ruby-xml-simple","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:52:39.043Z","latest_release_published_at":"2026-02-11T06:52:39.043Z","latest_release_number":"1.1.9-1","last_synced_at":"2026-03-11T14:11:19.430Z","created_at":"2026-02-11T06:52:38.858Z","updated_at":"2026-03-11T14:11:19.431Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-xml-simple","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:57:19.235Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-xml-simple?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":13531198,"name":"ruby-xml-simple","ecosystem":"debian","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:41:36.906Z","latest_release_published_at":"2026-02-10T23:41:36.906Z","latest_release_number":"1.1.5-1.1","last_synced_at":"2026-03-14T07:19:25.711Z","created_at":"2026-02-10T23:41:36.729Z","updated_at":"2026-03-14T07:19:25.711Z","registry_url":"https://tracker.debian.org/pkg/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":"https://packages.debian.org/bullseye/ruby-xml-simple","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-xml-simple","standards_version":"3.9.6","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 9~), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:27:10.507Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-xml-simple?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":13805578,"name":"ruby-xml-simple","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:35:47.846Z","latest_release_published_at":"2026-02-13T18:35:47.846Z","latest_release_number":"1.1.9-1","last_synced_at":"2026-03-14T03:16:39.328Z","created_at":"2026-02-13T18:35:47.624Z","updated_at":"2026-03-14T03:16:39.328Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-xml-simple","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:35:48.499Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-xml-simple?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13751919,"name":"ruby-xml-simple","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:25:41.141Z","latest_release_published_at":"2026-02-13T07:25:41.141Z","latest_release_number":"1.1.5-1","last_synced_at":"2026-03-13T20:23:20.274Z","created_at":"2026-02-13T07:25:40.971Z","updated_at":"2026-03-13T20:23:20.275Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-xml-simple","standards_version":"3.9.6","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 9~), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T07:25:41.886Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-xml-simple?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-27T18:20:36.874Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":13780075,"name":"ruby-xml-simple","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:28:54.932Z","latest_release_published_at":"2026-02-13T13:28:54.932Z","latest_release_number":"1.1.5-3","last_synced_at":"2026-03-13T22:41:57.289Z","created_at":"2026-02-13T13:28:54.252Z","updated_at":"2026-03-13T22:41:57.290Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-xml-simple","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:28:56.280Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-xml-simple?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":13467500,"name":"ruby-xml-simple","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T17:33:12.838Z","latest_release_published_at":"2026-02-09T17:33:12.838Z","latest_release_number":"1.1.9-1","last_synced_at":"2026-03-09T18:23:54.425Z","created_at":"2026-02-09T17:33:12.418Z","updated_at":"2026-03-09T18:32:54.828Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-xml-simple","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-xml-simple?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":13950223,"name":"ruby-xml-simple","ecosystem":"guix","description":"Simple Ruby library for XML processing","homepage":"https://github.com/maik/xml-simple","licenses":"ruby","normalized_licenses":["Ruby"],"repository_url":"https://github.com/maik/xml-simple","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:53:17.814Z","latest_release_published_at":"2026-03-02T18:53:17.814Z","latest_release_number":"1.1.5","last_synced_at":"2026-04-27T16:19:16.356Z","created_at":"2026-03-02T18:53:16.870Z","updated_at":"2026-04-27T16:19:16.357Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-xml-simple/1.1.5/","install_command":"guix install ruby-xml-simple","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n3033","metadata":{"location":"gnu/packages/ruby-xyz.scm:3033","variable_name":"ruby-xml-simple"},"repo_metadata":{"id":1326593,"uuid":"1272100","full_name":"maik/xml-simple","owner":"maik","description":"Easy API for working with XML documents","archived":false,"fork":false,"pushed_at":"2021-01-21T20:15:08.000Z","size":273,"stargazers_count":88,"open_issues_count":4,"forks_count":27,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-29T11:39:39.154Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maik.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-19T19:44:24.000Z","updated_at":"2025-02-18T18:25:56.000Z","dependencies_parsed_at":"2022-07-14T17:47:53.181Z","dependency_job_id":null,"html_url":"https://github.com/maik/xml-simple","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/maik/xml-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2026-04-03T00:24:17.279Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:guix/ruby-xml-simple","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":31165,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"guix-mirror","metadata":{"funded_packages_count":286},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-04-03T06:23:21.396Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/guix/namespaces"}},{"id":8614083,"name":"github.com/maik/xml-simple","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/maik/xml-simple","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2013-12-25T18:18:41.000Z","latest_release_published_at":"2015-01-15T19:51:43.000Z","latest_release_number":"v1.1.5","last_synced_at":"2026-04-24T23:02:08.571Z","created_at":"2023-12-02T02:11:32.249Z","updated_at":"2026-04-24T23:02:08.571Z","registry_url":"https://pkg.go.dev/github.com/maik/xml-simple","install_command":"go get github.com/maik/xml-simple","documentation_url":"https://pkg.go.dev/github.com/maik/xml-simple#section-documentation","metadata":{},"repo_metadata":{"uuid":"1272100","full_name":"maik/xml-simple","owner":"maik","description":"Easy API for working with XML documents","archived":false,"fork":false,"pushed_at":"2021-01-21T20:15:08.000Z","size":273,"stargazers_count":87,"open_issues_count":4,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-11-17T07:30:46.092Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maik.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-19T19:44:24.000Z","updated_at":"2023-08-17T00:26:04.000Z","dependencies_parsed_at":"2022-07-14T17:47:53.181Z","dependency_job_id":null,"html_url":"https://github.com/maik/xml-simple","commit_stats":null,"previous_names":[],"tags_count":3,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":174245435,"owners_count":10087782,"icon_url":"https://github.com/github.png","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2023-12-02T02:11:35.386Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":4.815699651862645,"forks_count":4.344668021591732,"docker_downloads_count":null,"average":7.384422631929556},"purl":"pkg:golang/github.com/maik/xml-simple","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/maik/xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/maik/xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/maik/xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2023-12-02T00:06:29.381Z","issues_count":22,"pull_requests_count":12,"avg_time_to_close_issue":6534438.5,"avg_time_to_close_pull_request":6727508.083333333,"issues_closed_count":18,"pull_requests_closed_count":12,"pull_request_authors_count":11,"issue_authors_count":20,"avg_comments_per_issue":2.1363636363636362,"avg_comments_per_pull_request":2.9166666666666665,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/issues"},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmaik%2Fxml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmaik%2Fxml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmaik%2Fxml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmaik%2Fxml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmaik%2Fxml-simple/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2116507,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13713608,"name":"ruby-xml-simple","ecosystem":"debian","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:44:17.414Z","latest_release_published_at":"2026-02-12T23:44:17.414Z","latest_release_number":"1.1.9-1","last_synced_at":"2026-03-14T00:38:16.523Z","created_at":"2026-02-12T23:44:17.241Z","updated_at":"2026-03-14T00:38:16.523Z","registry_url":"https://tracker.debian.org/pkg/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":"https://packages.debian.org/bookworm/ruby-xml-simple","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-xml-simple","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:44:17.982Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-xml-simple?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":331140,"name":"xml-simple","ecosystem":"rubygems","description":"A simple API for XML processing.","homepage":"https://github.com/maik/xml-simple","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/maik/xml-simple","keywords_array":[],"namespace":null,"versions_count":19,"first_release_published_at":"2009-07-25T17:46:42.000Z","latest_release_published_at":"2021-09-06T15:24:51.256Z","latest_release_number":"1.1.9","last_synced_at":"2026-04-28T00:01:26.846Z","created_at":"2022-04-06T12:30:14.269Z","updated_at":"2026-04-28T00:06:26.611Z","registry_url":"https://rubygems.org/gems/xml-simple","install_command":"gem install xml-simple -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/xml-simple/","metadata":{"funding":null},"repo_metadata":{"id":1326593,"uuid":"1272100","full_name":"maik/xml-simple","owner":"maik","description":"Easy API for working with XML documents","archived":false,"fork":false,"pushed_at":"2021-01-21T20:15:08.000Z","size":273,"stargazers_count":88,"open_issues_count":4,"forks_count":27,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-22T08:33:12.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maik.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-19T19:44:24.000Z","updated_at":"2025-02-18T18:25:56.000Z","dependencies_parsed_at":"2022-07-14T17:47:53.181Z","dependency_job_id":null,"html_url":"https://github.com/maik/xml-simple","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/maik/xml-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30919264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-25T07:55:14.202Z","status":"ssl_error","status_checked_at":"2026-03-25T07:55:10.924Z","response_time":80,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"maik","name":"Maik Schmidt","uuid":"22607","kind":"user","description":null,"email":"","website":"http://maik-schmidt.de","location":"Willich, Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22607?v=4","repositories_count":5,"last_synced_at":"2023-04-09T06:01:37.486Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/maik","funding_links":[],"total_stars":143,"followers":null,"following":null,"created_at":"2022-11-02T16:21:41.225Z","updated_at":"2024-03-25T17:33:12.170Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik/repositories"},"tags":[{"name":"v1.1.4","sha":"a46cfe63b5fe2bb8f601a462fadcbd1056dc6889","kind":"tag","published_at":"2015-01-26T18:56:51.000Z","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/v1.1.4","html_url":"https://github.com/maik/xml-simple/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maik/xml-simple@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags/v1.1.4/manifests"},{"name":"v1.1.5","sha":"1593168de54abc8d8be4c437b31d9baab4144003","kind":"tag","published_at":"2015-01-26T18:53:01.000Z","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/v1.1.5","html_url":"https://github.com/maik/xml-simple/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maik/xml-simple@v1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags/v1.1.5/manifests"},{"name":"v1.1.3","sha":"55013cd6fc836e79ba314aa20283b99251d37936","kind":"tag","published_at":"2014-05-19T12:21:21.000Z","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/v1.1.3","html_url":"https://github.com/maik/xml-simple/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maik/xml-simple@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags/v1.1.3/manifests"}]},"repo_metadata_updated_at":"2026-04-28T00:06:26.611Z","dependent_packages_count":467,"downloads":172227953,"downloads_period":"total","dependent_repos_count":15695,"rankings":{"downloads":0.12878982170136374,"dependent_repos_count":0.28211103801251103,"dependent_packages_count":0.09812557843913426,"stargazers_count":5.802789888605167,"forks_count":5.172221540794594,"docker_downloads_count":0.16168419174630078,"average":1.9409536765498452},"purl":"pkg:gem/xml-simple","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/xml-simple","docker_dependents_count":446,"docker_downloads_count":679966862,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/xml-simple/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-24T23:02:02.412Z","issues_count":22,"pull_requests_count":12,"avg_time_to_close_issue":6534438.5,"avg_time_to_close_pull_request":6727508.083333333,"issues_closed_count":18,"pull_requests_closed_count":12,"pull_request_authors_count":11,"issue_authors_count":20,"avg_comments_per_issue":2.1363636363636362,"avg_comments_per_pull_request":2.9166666666666665,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/xml-simple/codemeta","maintainers":[{"uuid":"51601","login":"yaauie","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://rubygems.org/profiles/yaauie","role":null,"created_at":"2022-11-09T09:57:07.690Z","updated_at":"2022-11-09T09:57:07.690Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/yaauie/packages"},{"uuid":"42481","login":"mschmidt","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://rubygems.org/profiles/mschmidt","role":null,"created_at":"2022-11-09T09:57:07.676Z","updated_at":"2022-11-09T09:57:07.676Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/mschmidt/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205528,"maintainers_count":68467,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":13407506,"name":"ruby-xml-simple","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T16:17:00.344Z","latest_release_published_at":"2026-02-06T16:17:00.344Z","latest_release_number":"1.1.9-1","last_synced_at":"2026-03-06T17:22:47.930Z","created_at":"2026-02-06T16:16:57.583Z","updated_at":"2026-03-06T17:32:18.183Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-xml-simple","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-xml-simple?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13669742,"name":"ruby-xml-simple","ecosystem":"debian","description":null,"homepage":"https://github.com/maik/xml-simple","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/maik/xml-simple","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:49:13.902Z","latest_release_published_at":"2026-02-12T12:49:13.902Z","latest_release_number":"1.1.9-1","last_synced_at":"2026-03-14T19:14:58.165Z","created_at":"2026-02-12T12:49:13.692Z","updated_at":"2026-03-14T19:14:58.166Z","registry_url":"https://tracker.debian.org/pkg/ruby-xml-simple","install_command":"apt-get install ruby-xml-simple","documentation_url":"https://packages.debian.org/trixie/ruby-xml-simple","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-xml-simple","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:49:14.875Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-xml-simple?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-xml-simple","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-xml-simple/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}},{"id":12358519,"name":"xml-simple","ecosystem":"rubygems","description":"A simple API for XML processing.","homepage":"https://github.com/maik/xml-simple","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/maik/xml-simple","keywords_array":[],"namespace":null,"versions_count":19,"first_release_published_at":"2009-07-25T17:46:42.000Z","latest_release_published_at":"2021-09-06T15:24:51.256Z","latest_release_number":"1.1.9","last_synced_at":"2026-04-28T12:23:21.291Z","created_at":"2025-10-07T07:03:37.791Z","updated_at":"2026-04-28T13:16:56.326Z","registry_url":"https://gem.coop/gems/xml-simple","install_command":"gem install xml-simple -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/xml-simple/","metadata":{"funding":null},"repo_metadata":{"id":1326593,"uuid":"1272100","full_name":"maik/xml-simple","owner":"maik","description":"Easy API for working with XML documents","archived":false,"fork":false,"pushed_at":"2021-01-21T20:15:08.000Z","size":273,"stargazers_count":88,"open_issues_count":4,"forks_count":27,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-22T08:33:12.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maik.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-19T19:44:24.000Z","updated_at":"2025-02-18T18:25:56.000Z","dependencies_parsed_at":"2022-07-14T17:47:53.181Z","dependency_job_id":null,"html_url":"https://github.com/maik/xml-simple","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/maik/xml-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maik","download_url":"https://codeload.github.com/maik/xml-simple/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30919264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-25T07:55:14.202Z","status":"ssl_error","status_checked_at":"2026-03-25T07:55:10.924Z","response_time":80,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"tags":[]},"repo_metadata_updated_at":"2026-04-28T13:16:56.326Z","dependent_packages_count":0,"downloads":172247291,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.1465126211702628,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.1346186076435256,"average":0.0702828072034471},"purl":"pkg:gem/xml-simple?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/xml-simple","docker_dependents_count":446,"docker_downloads_count":679966862,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/xml-simple","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/xml-simple/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-18T20:01:54.583Z","issues_count":22,"pull_requests_count":12,"avg_time_to_close_issue":6534438.5,"avg_time_to_close_pull_request":6727508.083333333,"issues_closed_count":18,"pull_requests_closed_count":12,"pull_request_authors_count":11,"issue_authors_count":20,"avg_comments_per_issue":2.1363636363636362,"avg_comments_per_pull_request":2.9166666666666665,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/xml-simple/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/xml-simple/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/xml-simple/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/xml-simple/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/xml-simple/codemeta","maintainers":[{"uuid":"51601","login":"yaauie","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://gem.coop/profiles/yaauie","role":null,"created_at":"2025-10-08T08:09:08.317Z","updated_at":"2025-10-08T08:09:08.317Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/yaauie/packages"},{"uuid":"42481","login":"mschmidt","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://gem.coop/profiles/mschmidt","role":null,"created_at":"2025-10-08T08:09:08.190Z","updated_at":"2025-10-08T08:09:08.190Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/mschmidt/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190381,"maintainers_count":67475,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}}],"commits":{"id":929475,"full_name":"maik/xml-simple","default_branch":"master","total_commits":61,"total_committers":13,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":4.6923076923076925,"dds":0.2295081967213115,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-28T00:11:53.531Z","last_synced_commit":"7b8bdf7b33ab872bb4d1fb8eeecba5c5e1a4a421","created_at":"2023-03-10T00:19:08.450Z","updated_at":"2026-04-28T00:11:24.911Z","committers":[{"name":"Maik Schmidt","email":"contact@maik-schmidt.de","login":"maik","count":47},{"name":"Ben Langfeld","email":"ben@langfeld.me","login":"benlangfeld","count":3},{"name":"pdf","email":"github@obfusc8.org","login":"pdf","count":1},{"name":"bootstraponline","email":"code@bootstraponline.com","login":"bootstraponline","count":1},{"name":"Roman Shterenzon","email":"roman.shterenzon@gmail.com","login":"romanbsd","count":1},{"name":"Pivotal Labs Common Effort Role Account","email":"accounts+github+common@pivotallabs.com","login":"pivotalcommon","count":1},{"name":"Pavel Valena","email":"pvalena@redhat.com","login":"pvalena","count":1},{"name":"Orgad Shaneh","email":"orgad.shaneh@audiocodes.com","login":"orgads","count":1},{"name":"John Joseph Bachir","email":"j@jjb.cc","login":"jjb","count":1},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":1},{"name":"Amos","email":"abieler@gmx.net","login":"runnerpack","count":1},{"name":"Walter Davis","email":"waldavis@mail.med.upenn.edu","login":null,"count":1},{"name":"Susan J. Talbutt","email":"talbutt@mail.med.upenn.edu","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-28T00:00:07.369Z","repositories_count":6220945,"commits_count":899919289,"contributors_count":34884842,"owners_count":1146653,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"maik/xml-simple","html_url":"https://github.com/maik/xml-simple","last_synced_at":"2026-04-24T23:02:02.412Z","status":"error","issues_count":22,"pull_requests_count":12,"avg_time_to_close_issue":6534438.5,"avg_time_to_close_pull_request":6727508.083333333,"issues_closed_count":18,"pull_requests_closed_count":12,"pull_request_authors_count":11,"issue_authors_count":20,"avg_comments_per_issue":2.1363636363636362,"avg_comments_per_pull_request":2.9166666666666665,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-12T19:25:46.170Z","updated_at":"2026-04-24T23:02:02.412Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maik%2Fxml-simple/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":21,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":12},"issue_authors":{"mrueg":3,"javierseixas":1,"907th":1,"dkubb":1,"electrofelix":1,"otaviof":1,"FilBot3":1,"hozumi":1,"fazelmk":1,"srcspider":1,"ghost":1,"mickael-palma-argus":1,"yaauie":1,"grosser":1,"sunilkr":1,"newint33h":1,"markwilkinson":1,"serch":1,"mistergibson":1,"bootstraponline":1},"pull_request_authors":{"romanbsd":2,"pdf":1,"orgads":1,"bootstraponline":1,"pivotalcommon":1,"runnerpack":1,"benlangfeld":1,"pvalena":1,"walterdavis":1,"jjb":1,"hsbt":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-27T00:00:06.950Z","repositories_count":14424343,"issues_count":34456150,"pull_requests_count":112702354,"authors_count":11246454,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"WatchEvent":1},"last_year":{}},"keywords":[],"dependencies":[],"score":28.343232182700305,"created_at":"2024-12-15T21:38:08.535Z","updated_at":"2026-04-30T01:30:16.417Z","avatar_url":"https://github.com/maik.png","language":"Ruby","monthly_downloads":0,"readme":":lang: en\n\n= XmlSimple - XML made easy\n\n== Introduction\n\nThe _XmlSimple_ class offers an easy API to read and write XML. It is a Ruby  translation of Grant McLean's Perl module http://www.cpan.org/modules/by-module/XML/GRANTM/[XML::Simple]. Please note, that this tutorial was originally written by Grant McLean. I have only converted it to Asciidoc and adjusted it for the Ruby version.\n\n== Installation\n\nXmlSimple is available as a Gem, so you can install it as follows:\n\n....\n  gem install xml-simple\n....\n\n== Quick Start\n\nSay you have a script called _foo_ and a file of configuration options called _foo.xml_ containing this:\n\n....\n  \u003cconfig logdir=\"/var/log/foo/\" debugfile=\"/tmp/foo.debug\"\u003e\n    \u003cserver name=\"sahara\" osname=\"solaris\" osversion=\"2.6\"\u003e\n      \u003caddress\u003e10.0.0.101\u003c/address\u003e\n      \u003caddress\u003e10.0.1.101\u003c/address\u003e\n    \u003c/server\u003e\n    \u003cserver name=\"gobi\" osname=\"irix\" osversion=\"6.5\"\u003e\n      \u003caddress\u003e10.0.0.102\u003c/address\u003e\n    \u003c/server\u003e\n    \u003cserver name=\"kalahari\" osname=\"linux\" osversion=\"2.0.34\"\u003e\n      \u003caddress\u003e10.0.0.103\u003c/address\u003e\n      \u003caddress\u003e10.0.1.103\u003c/address\u003e\n    \u003c/server\u003e\n  \u003c/config\u003e\n....\n\nThe following lines of code in _foo_:\n\n....\n  require 'xmlsimple'\n  config = XmlSimple.xml_in('foo.xml', { 'KeyAttr' =\u003e 'name' })\n....\n\nwill 'slurp' the configuration options into the Hash _config_ (if no arguments are passed to _xml_in_ the name and location of the XML file will be inferred from name and location of the script). You can dump out the contents of the Hash using `p config`, which will produce something like this (formatting has been adjusted for brevity):\n\n....\n{\n  'logdir'        =\u003e '/var/log/foo/',\n  'debugfile'     =\u003e '/tmp/foo.debug',\n  'server'        =\u003e {\n    'sahara'        =\u003e {\n      'osversion'     =\u003e '2.6',\n      'osname'        =\u003e 'solaris',\n      'address'       =\u003e [ '10.0.0.101', '10.0.1.101' ]\n    },\n    'gobi'          =\u003e {\n      'osversion'     =\u003e '6.5',\n      'osname'        =\u003e 'irix',\n      'address'       =\u003e [ '10.0.0.102' ]\n    },\n    'kalahari'      =\u003e {\n      'osversion'     =\u003e '2.0.34',\n      'osname'        =\u003e 'linux',\n      'address'       =\u003e [ '10.0.0.103', '10.0.1.103' ]\n    }\n  }\n}\n....\n\nYour script could then access the name of the log directory like this:\n\n....\n  puts config['logdir']\n....\n\nSimilarly, the second address on the server 'kalahari' could be referenced as:\n\n....\n  puts config['server']['kalahari']['address'][1]\n....\n\nWhat could be simpler? (Rhetorical).\n\nFor simple requirements, that's really all there is to it. If you want to store your XML in a different directory or file, or pass it in as a string, you'll need to check out the section on \u003c\u003coptions, options\u003e\u003e. If you want to turn off or tweak the array folding feature (that neat little transformation that produced _config['server'])_ you'll find options for that as well.\n\nIf you want to generate XML (for example to write a modified version of _config_ back out as XML), check out _xml_out_.\n\n== Description\n\nThe _XmlSimple_ class provides a simple API layer on top of the https://github.com/ruby/rexml/[REXML] parser. Additionally, two functions are exported: _xml_in_ and _xml_out_.\n\nThe simplest approach is to call these two functions directly, but an optional object-oriented interface (see the section on \u003c\u003cOOInterface, Optional OO Interface\u003e\u003e below) allows them to be called as methods of an _XmlSimple_ object.\n\n=== xml_in\n\nParses XML formatted data and returns a reference to a data structure which contains the same information in a more readily accessible form. (Skip down to the section on \u003c\u003cexamples, examples\u003e\u003e below, for more sample code).\n\n_xml_in_ accepts an optional XML specifier followed by a Hash containing 'name =\u003e value' option pairs. The XML specifier can be a filename, nil, or an IO object.\n\n==== A Filename\n\nIf the filename contains no directory components _xml_in_ will look for the file in each directory in the searchpath (see the section on \u003c\u003coptions, options\u003e\u003e below). For example:\n\n....\n    ref = XmlSimple.xml_in('/etc/params.xml')\n....\n\n==== nil\n\nIf there is no XML specifier, _xml_in_ will check the script directory and each of the searchpath directories for a file with the same name as the script but with the extension '.xml'. Note: if you wish to specify options, you must specify the value _nil_:\n\n....\n    ref = XmlSimple.xml_in(nil, { 'ForceArray' =\u003e false })\n....\n\n==== A String of XML\n\nA string containing XML (recognised by the presence of '\u003c' and '\u003e' characters) will be parsed directly. For example:\n\n....\n    ref = XmlSimple.xml_in('\u003copt username=\"bob\" password=\"flurp\" /\u003e')\n....\n\n==== An IO object\n\nAn IO object will be read to EOF and its contents parsed. For example:\n\n....\n    file = File.open('/etc/params.xml')\n    ref  = XmlSimple.xml_in(file)\n....\n\n=== xml_out\n\nTakes a data structure (generally a Hash) and returns an XML encoding of that structure. If the resulting XML is parsed using _xml_in_, it will return a data structure equivalent to the original.\n\nWhen translating hashes to XML, hash keys which have a leading '-' will be silently skipped. This is the approved method for marking elements of a data structure which should be ignored by _xml_out_. (Note: If these items were not skipped the key names would be emitted as element or attribute names with a leading '-' which would not be valid XML).\n\n=== Caveats\n\nSome care is required in creating data structures which will be passed to _xml_out_. Hash keys from the data structure will be encoded as either XML element names or attribute names. Therefore, you should use hash key names which conform to the relatively strict XML naming rules:\n\nNames in XML must begin with a letter. The remaining characters may be letters, digits, hyphens (-), underscores (_) or full stops (.). It is also allowable to include one colon (:) in an element name but this should only be used when working with namespaces - a facility well beyond the scope of _XmlSimple_.\n\nYou can use other punctuation characters in hash values (just not in hash keys) however _XmlSimple_ does not support dumping binary data.\n\nIf you break these rules, the current implementation of _xml_out_ will simply emit non-compliant XML which will be rejected if you try to read it back in. (A later version of _XmlSimple_ might take a more proactive approach).\n\nNote also that although you can nest hashes and arrays to arbitrary levels, recursive data structures are not supported and will cause _xml_out_ to raise an exception.\n\n[[options]]\n== Options\n\n_IMPORTANT NOTE FOR USERS OF THE PERL VERSION!_ The default values of some options have changed, some options are not supported and I have added new options, too:\n\n* 'ForceArray' is _true_ by default.\n* 'KeyAttr' defaults to _[]_ and not to _['name', 'key', 'id']_.\n* The SAX parts of XML::Simple are currently not supported.\n* Namespaces are currently not supported.\n* Currently, there is no 'strict mode'.\n* 'AnonymousTag' is not available in the current Perl version.\n* 'Indent' is not available in the current Perl version.\n* The Perl version does not support so called blessed references and raises an exception (\"can't encode value of type\"), if one is used. The Ruby version supports all object types, because every object in Ruby has a _to_s_ method.\n\n_XmlSimple_ supports a number of options. If you find yourself repeatedly having to specify the same options, you might like to investigate the section on link:#OOInterface[\"Optional OO Interface\"] below.\n\nBecause there are so many options, it's hard for new users to know which ones are important, so here are the two you really need to know about:\n\n* Check out 'ForceArray' because you'll almost certainly want to leave it on.\n* Make sure you know what the 'KeyAttr' option does and what its default value is because it may surprise you otherwise.\n\nBoth _xml_in_ and _xml_out_ expect a single argument followed by a Hash containing options. So, an option takes the form of a 'name =\u003e value' pair. The options listed below are marked with 'in' if they are recognised by _xml_in_ and 'out' if they are recognised by _xml_out_.\n\nEach option is also flagged to indicate whether it is:\n\n* 'important' - don't use the module until you understand this\n* 'handy' - you can skip this on the first time through\n* 'advanced' - you can skip this on the second time through\n* 'seldom used' - you'll probably never use this unless you were the person that requested the feature\n\nThe options are listed alphabetically.\n\n_Note_: Option names are not case-sensitive, so you can use the mixed case versions shown here. Additionally, you can put underscores between the words (for example 'key_attr').\n\n=== AnonymousTag =\u003e 'tag name' (in + out) (seldom used)\n\nBy default, the tag to declare an anonymous value is 'anon'. Using option 'AnonymousTag' you can set it to an arbitrary string (that must obey to the XML naming rules, of course).\n\n=== Cache =\u003e [ cache scheme(s) ] (in) (advanced)\n\nBecause loading the REXML parser module and parsing an XML file can consume a significant number of CPU cycles, it is often desirable to cache the output of _xml_in_ for later reuse.\n\nWhen parsing from a named file, _XmlSimple_ supports a number of caching schemes. The 'Cache' option may be used to specify one or more schemes (using an anonymous array). Each scheme will be tried in turn in the hope of finding a cached pre-parsed representation of the XML file. If no cached copy is found, the file will be parsed and the first cache scheme in the list will be used to save a copy of the results. The following cache schemes have been implemented:\n\n==== storable\n\nUtilises Marshal to read/write a cache file with the same name as the XML file but with the extension _.stor_.\n\n==== mem_share\n\nWhen a file is first parsed, a copy of the resulting data structure is retained in memory in _XmlSimple_'s namespace. Subsequent calls to parse the same file will return a reference to this structure. This cached version will persist only for the life of the Ruby interpreter (which in the case of mod_ruby for example, may be some significant time).\n\nBecause each caller receives a reference to the same data structure, a change made by one caller will be visible to all. For this reason, the reference returned should be treated as read-only.\n\n==== mem_copy\n\nThis scheme works identically to 'mem_share' (above) except that each caller receives a reference to a new data structure which is a copy of the cached version. Copying the data structure will add a little processing overhead, therefore this scheme should only be used where the caller intends to modify the data structure (or wishes to protect itself from others who might). This scheme uses the Marshal module to perform the copy.\n\n_Warning!_ The memory-based caching schemes compare the timestamp on the file to the time when it was last parsed. If the file is stored on an NFS filesystem (or other network share) and the clock on the file server is not exactly synchronised with the clock where your script is run, updates to the source XML file may appear to be ignored.\n\n=== ContentKey =\u003e 'keyname' (in + out) (seldom used)\n\nWhen text content is parsed to a hash value, this option let's you specify a name for the hash key to override the default 'content'. So for example:\n\n....\n    XmlSimple.xml_in('\u003copt one=\"1\"\u003eText\u003c/opt\u003e', { 'ContentKey' =\u003e 'text' })\n....\n\nwill parse to:\n\n....\n    { 'one' =\u003e '1', 'text' =\u003e 'Text' }\n....\n\ninstead of:\n\n....\n    { 'one' =\u003e '1', 'content' =\u003e 'Text' }\n....\n\n_xml_out_ will also honour the value of this option when converting a hash to XML.\n\nYou can also prefix your selected key name with a '-' character to have _xml_in_ try a little harder to eliminate unnecessary 'content' keys after array folding. For example:\n\n....\n  XmlSimple.xml_in(%q(\n    \u003copt\u003e\n      \u003citem name=\"one\"\u003eFirst\u003citem\u003e\n      \u003citem name=\"two\"\u003eSecond\u003citem\u003e\n    \u003copt\u003e), {\n  'KeyAttr'    =\u003e { 'item' =\u003e 'name' },\n  'ForceArray' =\u003e [ 'item' ],\n  'ContentKey' =\u003e '-content'\n})\n....\n\nwill parse to:\n\n....\n{\n  'item' =\u003e {\n    'one'  =\u003e  'First',\n    'two'  =\u003e  'Second'\n  }\n}\n....\n\nrather than this (without the '-'):\n\n....\n{\n  'item' =\u003e {\n    'one'  =\u003e { 'content' =\u003e 'First' },\n    'two'  =\u003e { 'content' =\u003e 'Second' }\n  }\n}\n....\n\n=== ForceArray =\u003e true | false (in) (IMPORTANT!)\n\nThis option should be set to _true_ to force nested elements to be represented as arrays even when there is only one. For example, with 'ForceArray' enabled, this XML:\n\n....\n\u003copt\u003e\n  \u003cname\u003evalue\u003c/name\u003e\n\u003c/opt\u003e\n....\n\nwould parse to this:\n\n....\n{\n  'name' =\u003e [ 'value' ]\n}\n....\n\ninstead of this (the default):\n\n....\n{\n  'name' =\u003e 'value'\n}\n....\n\nThis option is especially useful if the data structure is likely to be written back out as XML and the default behaviour of rolling single nested elements up into attributes is not desirable.\n\nIf you are using the array folding feature, you should almost certainly enable this option. If you do not, single nested elements will not be parsed to arrays and therefore will not be candidates for folding to a hash.\n\nThe option is _true_ by default.\n\n=== ForceArray =\u003e [ name(s) ] (in) (IMPORTANT!)\n\nThis alternative form of the 'ForceArray' option allows you to specify a list of element names which should always be forced into an array representation, rather than the 'all or nothing' approach above.\n\nIt is also possible to include compiled regular expressions in the list - any element names which match the pattern will be forced to arrays. If the list contains only a single regex, then it is not necessary to enclose it in an Array. For example,\n\n....\n'ForceArray' =\u003e %r(_list$)\n....\n\n=== ForceContent (in) (seldom used)\n\nWhen _xml_in_ parses elements which have text content as well as attributes, the text content must be represented as a hash value rather than a simple scalar. This option allows you to force text content to always parse to a hash value even when there are no attributes. So, for example:\n\n....\n  xml =%q(\n    \u003copt\u003e\n      \u003cx\u003etext1\u003c/x\u003e\n      \u003cy a=\"2\"\u003etext2\u003c/y\u003e\n    \u003c/opt\u003e)\n  XmlSimple.xml_in(xml, { 'ForceContent' =\u003e true })\n....\n\nwill parse to:\n\n....\n    {\n      'x' =\u003e {             'content' =\u003e 'text1' },\n      'y' =\u003e { 'a' =\u003e '2', 'content' =\u003e 'text2' }\n    }\n....\n\ninstead of:\n\n....\n    {\n      'x' =\u003e 'text1',\n      'y' =\u003e { 'a' =\u003e '2', 'content' =\u003e 'text2' }\n    }\n....\n\n=== GroupTags =\u003e { grouping tag =\u003e grouped tag } (in + out) (handy)\n\nYou can use this option to eliminate extra levels of indirection in your Ruby data structure. For example this XML:\n\n....\n  xml = %q(\n  \u003copt\u003e\n    \u003csearchpath\u003e\n      \u003cdir\u003eusr/bin\u003cdir\u003e\n      \u003cdir\u003eusr/local/bin\u003cdir\u003e\n      \u003cdir\u003eusr/X11/bin\u003cdir\u003e\n    \u003csearchpath\u003e\n  \u003copt\u003e)\n....\n\nWould normally be read into a structure like this:\n\n....\n {\n   'searchpath' =\u003e {\n     'dir' =\u003e [ '/usr/bin', '/usr/local/bin', '/usr/X11/bin' ]\n   }\n }\n....\n\nBut when read in with the appropriate value for 'GroupTags':\n\n....\n    opt = XmlSimple.xml_in(xml, { 'GroupTags' =\u003e { 'searchpath' =\u003e 'dir' })\n....\n\nIt will return this simpler structure:\n\n....\n    {\n      'searchpath' =\u003e [ '/usr/bin', '/usr/local/bin', '/usr/X11/bin' ]\n    }\n....\n\nYou can specify multiple 'grouping element' to 'grouped element' mappings in the same Hash. If this option is combined with 'KeyAttr', the array folding will occur first and then the grouped element names will be eliminated.\n\n_xml_out_ will also use the grouptag mappings to re-introduce the tags around the grouped elements. Beware though that this will occur in all places that the 'grouping tag' name occurs - you probably don't want to use the same name for elements as well as attributes.\n\n=== Indent =\u003e 'string' (out) (seldom used)\n\nBy default, _xml_out_'s pretty printing mode indents the output document using two blanks. 'Indent' allows you to use an arbitrary string for indentation.\n\nIf the 'NoIndent' option is set, 'Indent' will be ignored.\n\n=== KeepRoot =\u003e true | false (in + out) (handy)\n\nIn its attempt to return a data structure free of superfluous detail and unnecessary levels of indirection, _xml_in_ normally discards the root element name. Setting the 'KeepRoot' option to _true_ will cause the root element name to be retained. So after executing this code:\n\n....\n    config = XmlSimple.xml_in('\u003cconfig tempdir=\"/tmp\" /\u003e', { 'KeepRoot' =\u003e true })\n....\n\nyou'll be able to reference the tempdir as _config['config']['tempdir']_ instead of the default _config['tempdir']_.\n\nSimilarly, setting the 'KeepRoot' option to _true_ will tell _xml_out_ that the data structure already contains a root element name and it is not necessary to add another.\n\n=== KeyAttr =\u003e [ list ] (in + out) (IMPORTANT!)\n\nThis option controls the 'array folding' feature which translates nested elements from an array to a hash. For example, this XML:\n\n....\n        \u003copt\u003e\n          \u003cuser login=\"grep\" fullname=\"Gary R Epstein\" /\u003e\n          \u003cuser login=\"stty\" fullname=\"Simon T Tyson\" /\u003e\n        \u003c/opt\u003e\n....\n\nwould, by default, parse to this:\n\n....\n{\n  'user' =\u003e [\n     {\n       'login'    =\u003e 'grep',\n       'fullname' =\u003e 'Gary R Epstein'\n     },\n     {\n       'login'    =\u003e 'stty',\n       'fullname' =\u003e 'Simon T Tyson'\n     }\n   ]\n}\n....\n\nIf the option 'KeyAttr =\u003e \"login\"' were used to specify that the 'login' attribute is a key, the same XML would parse to:\n\n....\n{\n  'user' =\u003e {\n    'stty' =\u003e {\n      'fullname' =\u003e 'Simon T Tyson'\n    },\n    'grep' =\u003e {\n      'fullname' =\u003e 'Gary R Epstein'\n    }\n  }\n}\n....\n\nThe key attribute names should be supplied in an array if there is more than one. _xml_in_ will attempt to match attribute names in the order supplied. _xml_out_ will use the first attribute name supplied when 'unfolding' a hash into an array.\n\n_Note:_ the 'KeyAttr' option controls the folding of arrays. By default, a single nested element will be rolled up into a scalar rather than an array and therefore will not be folded. Use the 'ForceArray' option to force nested elements to be parsed into arrays and therefore candidates for folding into hashes.\n\nThe default value for 'KeyAttr' is _[]_, that is, the array folding feature is disabled.\n\n=== KeyAttr =\u003e { list } (in + out) (IMPORTANT!)\n\nThis alternative method of specifying the key attributes allows more fine grained control over which elements are folded and on which attributes. For example the option 'KeyAttr =\u003e { 'package' =\u003e 'id' } will cause any package elements to be folded on the 'id' attribute. No other elements which have an 'id' attribute will be folded at all.\n\n_Note:_ _xml_in_ will generate a warning if this syntax is used and an element which does not have the specified key attribute is encountered (for example: a 'package' element without an 'id' attribute, to use the example above).\n\nTwo further variations are made possible by prefixing a '+' or a '-' character to the attribute name:\n\nThe option\n\n....\n  'KeyAttr' =\u003e { 'user' =\u003e \"+login\" }'\n....\n\nwill cause this XML:\n\n....\n\u003copt\u003e\n  \u003cuser login=\"grep\" fullname=\"Gary R Epstein\" /\u003e\n  \u003cuser login=\"stty\" fullname=\"Simon T Tyson\" /\u003e\n\u003c/opt\u003e\n....\n\nto parse to this data structure:\n\n....\n{\n  'user' =\u003e {\n    'stty' =\u003e {\n      'fullname' =\u003e 'Simon T Tyson',\n      'login'    =\u003e 'stty'\n    },\n    'grep' =\u003e {\n      'fullname' =\u003e 'Gary R Epstein',\n      'login'    =\u003e 'grep'\n    }\n  }\n}\n....\n\nThe '+' indicates that the value of the key attribute should be copied rather than moved to the folded hash key.\n\nA '-' prefix would produce this result:\n\n....\n{\n  'user' =\u003e {\n    'stty' =\u003e {\n      'fullname' =\u003e 'Simon T Tyson',\n      '-login'   =\u003e 'stty'\n    },\n    'grep' =\u003e {\n      'fullname' =\u003e 'Gary R Epstein',\n      '-login'   =\u003e 'grep'\n    }\n  }\n}\n....\n\nAs described earlier, _xml_out_ will ignore hash keys starting with a '-'.\n\n=== AttrPrefix =\u003e true | false (in + out) (handy)\n\nXmlSimple treats attributes and elements equally and there is no way to determine, if a certain hash key has been derived from an element name or from an attribute name. Sometimes you need this information and that's when you use the _AttrPrefix_ option:\n\n....\nxml_str = \u003c\u003cXML_STR\n\u003cCustomer id=\"12253\"\u003e\n  \u003cfirst_name\u003eJoe\u003c/first_name\u003e\n  \u003clast_name\u003eJoe\u003c/last_name\u003e\n  \u003cAddress type=\"home\"\u003e\n    \u003cline1\u003e211 Over There\u003c/line1\u003e\n    \u003ccity\u003eJacksonville\u003c/city\u003e\n    \u003cstate\u003eFL\u003c/state\u003e\n    \u003czip_code\u003e11234\u003c/zip_code\u003e\n  \u003c/Address\u003e\n  \u003cAddress type=\"postal\"\u003e\n    \u003cline1\u003e3535 Head Office\u003c/line1\u003e\n    \u003ccity\u003eJacksonville\u003c/city\u003e\n    \u003cstate\u003eFL\u003c/state\u003e\n    \u003czip_code\u003e11234\u003c/zip_code\u003e\n  \u003c/Address\u003e\n\u003c/Customer\u003e\nXML_STR\n\nresult = XmlSimple.xml_in xml_str, { 'ForceArray' =\u003e false, 'AttrPrefix' =\u003e true }\np result\n....\n\nproduces:\n\n....\n{\n  \"@id\" =\u003e \"12253\",\n  \"first_name\" =\u003e \"Joe\",\n  \"Address\" =\u003e [\n    {\n      \"city\" =\u003e \"Jacksonville\",\n      \"line1\" =\u003e \"211 Over There\",\n      \"zip_code\" =\u003e \"11234\",\n      \"@type\" =\u003e \"home\",\n      \"state\" =\u003e \"FL\"\n    },\n    {\n      \"city\" =\u003e \"Jacksonville\",\n      \"line1\" =\u003e \"3535 Head Office\",\n      \"zip_code\" =\u003e \"11234\",\n      \"@type\" =\u003e \"postal\",\n      \"state\" =\u003e \"FL\"\n    }\n  ],\n  \"last_name\" =\u003e \"Joe\"\n}\n....\n\nAs you can see all hash keys that have been derived from attributes are prefixed by an @ character, so now you know if they have been elements or attributes before. Of course, _xml_out_ knows how to correctly transform hash keys prefixed by an @ character, too:\n\n....\n    doc = REXML::Document.new XmlSimple.xml_out(result, 'AttrPrefix' =\u003e true)\n    d = ''\n    doc.write(d)\n    puts d\n....\n\nproduces:\n\n....\n\u003copt id=\"12253\"\u003e\n  \u003cfirst_name\u003eJoe\u003c/first_name\u003e\n  \u003clast_name\u003eJoe\u003c/last_name\u003e\n  \u003cAddress type=\"home\"\u003e\n    \u003cline1\u003e211 Over There\u003c/line1\u003e\n    \u003ccity\u003eJacksonville\u003c/city\u003e\n    \u003cstate\u003eFL\u003c/state\u003e\n    \u003czip_code\u003e11234\u003c/zip_code\u003e\n  \u003c/Address\u003e\n  \u003cAddress type=\"postal\"\u003e\n    \u003cline1\u003e3535 Head Office\u003c/line1\u003e\n    \u003ccity\u003eJacksonville\u003c/city\u003e\n    \u003cstate\u003eFL\u003c/state\u003e\n    \u003czip_code\u003e11234\u003c/zip_code\u003e\n  \u003c/Address\u003e\n\u003c/opt\u003e\n....\n\n=== NoAttr =\u003e true | false (in + out) (handy)\n\nWhen used with _xml_out_, the generated XML will contain no attributes. All hash key/values will be represented as nested elements instead.\n\nWhen used with _xml_in_, any attributes in the XML will be ignored.\n\n=== NormaliseSpace =\u003e 0 | 1 | 2 (in) (handy)\n\nThis option controls how whitespace in text content is handled. Recognised values for the option are:\n\n* 0 - The default behaviour is for whitespace to be passed through unaltered (except of course for the normalisation of whitespace in attribute values which is mandated by the XML recommendation).\n* 1 - Whitespace is normalised in any value used as a hash key (normalising means removing leading and trailing whitespace and collapsing sequences of whitespace characters to a single space).\n* 2 - Whitespace is normalised in all text content.\n\nNote: you can spell this option with a 'z' if that is more natural for you.\n\n=== NoEscape =\u003e true | false (out) (seldom used)\n\nBy default, _xml_out_ will translate the characters \u003c, \u003e, \u0026, ', and \" to '\u0026lt;', '\u0026gt;', '\u0026amp', '\u0026apos', and '\u0026quot' respectively. Use this option to suppress escaping (presumably because you've already escaped the data in some more sophisticated manner).\n\n=== NoIndent =\u003e true | false (out) (seldom used)\n\nSet this option to _true_ to disable _xml_out_'s default 'pretty printing' mode. With this option enabled, the XML output will all be on one line (unless there are newlines in the data) - this may be easier for downstream processing.\n\n=== KeyToSymbol =\u003e true | false (in) (handy)\n\nIf set to _true_ (default is _false_) all keys are turned into symbols, that is, the following snippet\n\n....\n  doc = \u003c\u003c-DOC\n  \u003catts\u003e\n    \u003cx\u003eHello\u003c/x\u003e\n    \u003cy\u003eworld\u003c/y\u003e\n    \u003cz\u003e\n      \u003cinner\u003eInner\u003c/inner\u003e\n    \u003c/z\u003e\n  \u003c/atts\u003e\n  DOC\n  p XmlSimple.xml_in(doc, 'KeyToSymbol' =\u003e true)\n....\n\nproduces:\n\n....\n  {\n    :x =\u003e [\"Hello\"],\n    :y =\u003e [\"World\"],\n    :z =\u003e [ { :inner =\u003e [\"Inner\"] } ]\n  }\n....\n\n=== AttrToSymbol =\u003e true | false (in) (handy)\n\nIf set to _true_ (default is _false_) all keys are turned into symbols, that is, the following snippet\n\n....\n  doc = \u003c\u003c-DOC\n  \u003catts\u003e\n    \u003cmsg text=\"Hello, world!\" /\u003e\n  \u003c/atts\u003e\n  DOC\n  p XmlSimple.xml_in(doc, 'AttrToSymbol' =\u003e true)\n....\n\nproduces:\n\n....\n  {\n    \"msg\" =\u003e [ { :text =\u003e \"Hello, world!\" } ]\n  }\n....\n\n=== OutputFile =\u003e \u003cfile specifier\u003e (out) (handy)\n\nThe default behavior of _xml_out_ is to return the XML as a string. If you wish to write the XML to a file, simply supply the filename using the 'OutputFile' option. Alternatively, you can supply an object derived from IO instead of a filename.\n\n=== RootName =\u003e 'string' (out) (handy)\n\nBy default, when _xml_out_ generates XML, the root element will be named 'opt'. This option allows you to specify an alternative name.\n\nSpecifying either _nil_ or the empty string for the 'RootName' option will produce XML with no root elements. In most cases the resulting XML fragment will not be 'well formed' and therefore could not be read back in by _xml_in_. Nevertheless, the option has been found to be useful in certain circumstances.\n\n=== SearchPath =\u003e [ list ] (in) (handy)\n\nWhere the XML is being read from a file, and no path to the file is specified, this attribute allows you to specify which directories should be searched.\n\nIf the first parameter to _xml_in_ is undefined, the default searchpath will contain only the directory in which the script itself is located. Otherwise the default searchpath will be empty.\n\n_Note:_ the current directory ('.') is not searched unless it is the directory containing the script.\n\n=== SelfClose =\u003e true | false (out)\n\nIf set, _xml_out_ will use self-closing tags for empty elements. For example:\n\n....\n\u003celement /\u003e\n....\n\ninstead of\n\n....\n\u003celement\u003e\u003c/element\u003e\n....\n\n=== SuppressEmpty =\u003e true | '' | nil (in + out) (handy)\n\nThis option controls what _xml_in_ should do with empty elements (no attributes and no content). The default behaviour is to represent them as empty hashes. Setting this option to _true_ will cause empty elements to be skipped altogether. Setting the option to _nil_ or the empty string will cause empty elements to be represented as _nil_ or the empty string respectively. The latter two alternatives are a little easier to test for in your code than a hash with no keys.\n\n=== Variables =\u003e { name =\u003e value } (in) (handy)\n\nThis option allows variables in the XML to be expanded when the file is read. (there is no facility for putting the variable names back if you regenerate XML using _xml_out_).\n\nA 'variable' is any text of the form \"${name}\" which occurs in an attribute value or in the text content of an element. If 'name' matches a key in the supplied Hash, \"${name}\" will be replaced with the corresponding value from the Hash. If no matching key is found, the variable will not be replaced.\n\n=== VarAttr =\u003e 'attr_name' (in) (handy)\n\nIn addition to the variables defined using 'Variables', this option allows variables to be defined in the XML. A variable definition consists of an element with an attribute called 'attr_name' (the value of the 'VarAttr' option). The value of the attribute will be used as the variable name and the text content of the element will be used as the value. A variable defined in this way will override a variable defined using the 'Variables' option. For example:\n\n....\n    XmlSimple.xml_in(%q(\u003copt\u003e\n        \u003cdir name=\"prefix\"\u003eusr/local/apache\u003c/dir\u003e\n        \u003cdir name=\"exec_prefix\"\u003e${prefix}\u003c/dir\u003e\n        \u003cdir name=\"bindir\"\u003e${exec_prefix}/bin\u003c/dir\u003e\n        \u003c/opt\u003e), {\n     'VarAttr' =\u003e 'name', 'ContentKey' =\u003e '-content'\n     })\n....\n\nproduces the following data structure:\n\n....\n{\n  'dir' =\u003e {\n           'prefix'      =\u003e '/usr/local/apache',\n           'exec_prefix' =\u003e '/usr/local/apache',\n           'bindir'      =\u003e '/usr/local/apache/bin',\n      }\n}\n....\n\n=== XmlDeclaration =\u003e _true_ | 'string' (out) (handy)\n\nIf you want the output from _xml_out_ to start with the optional XML declaration, simply set the option to _true_. The default XML declaration is:\n\n....\n    \u003c?xml version='1.0' standalone='yes'?\u003e\n....\n\nIf you want some other string (for example to declare an encoding value), set the value of this option to the complete string you require.\n\n=== conversions =\u003e { regex =\u003e lambda } (in) (handy)\n\nWhen importing XML documents it's often necessary to filter or transform certain elements or attributes. The _conversions_ option helps you to do this. It expects a Hash object where the keys are regular expressions identifying element or attribute names. The values are lambda functions that will be applied to the matching elements.\n\nLet's say we have a file named status.xml containing the following document:\n\n....\n\u003cresult\u003e\n  \u003cstatus\u003eOK\u003c/status\u003e\n  \u003ctotal\u003e10\u003c/total\u003e\n  \u003cfailed\u003e2\u003c/failed\u003e\n\u003c/result\u003e\n....\n\nThe following statement\n\n....\n  conversions = {\n    /^total|failed$/ =\u003e lambda { |v| v.to_i },\n    /^status$/       =\u003e lambda { |v| v.downcase }\n  }\n\n  p XmlSimple.xml_in(\n    'status.xml',\n    :conversions =\u003e conversions,\n    :forcearray  =\u003e false\n  )\n....\n\nproduces the following output:\n\n....\n{\n  'status' =\u003e 'ok',\n  'total'  =\u003e 10,\n  'failed' =\u003e 2\n}\n....\n\n[[OOInterface]]\n== Optional OO Interface\n\nThe procedural interface is both simple and convenient, but if you have to define a set of default values which should be used on all subsequent calls to _xml_in_ or _xml_out_, you might prefer to use the object-oriented (OO) interface.\n\nThe default values for the options described above are unlikely to suit everyone. The OO interface allows you to effectively override _XmlSimple_'s defaults with your preferred values. It works like this:\n\nFirst create an _XmlSimple_ parser object with your preferred defaults:\n\n....\n    xs = XmlSimple.new({ 'ForceArray' =\u003e false, 'KeepRoot' =\u003e true)\n....\n\nthen call _xml_in_ or _xml_out_ as a method of that object:\n\n....\n    ref = xs.xml_in(xml)\n    xml = xs.xml_out(ref)\n....\n\nYou can also specify options when you make the method calls and these values will be merged with the values specified when the object was created. Values specified in a method call take precedence.\n\n== Error Handling\n\nThe XML standard is very clear on the issue of non-compliant documents. An error in parsing any single element (for example a missing end tag) must cause the whole document to be rejected. _XmlSimple_ will raise an appropriate exception if it encounters a parsing error.\n\n[[examples]]\n== Examples\n\nWhen _xml_in_ reads the following very simple piece of XML:\n\n....\n    \u003copt username=\"testuser\" password=\"frodo\"\u003e\u003c/opt\u003e\n....\n\nit returns the following data structure:\n\n....\n    {\n      'username' =\u003e 'testuser',\n      'password' =\u003e 'frodo'\n    }\n....\n\nThe identical result could have been produced with this alternative XML:\n\n....\n    \u003copt username=\"testuser\" password=\"frodo\" /\u003e\n....\n\nOr this (although see 'ForceArray' option for variations):\n\n....\n    \u003copt\u003e\n      \u003cusername\u003etestuser\u003c/username\u003e\n      \u003cpassword\u003efrodo\u003c/password\u003e\n    \u003c/opt\u003e\n....\n\nRepeated nested elements are represented as anonymous arrays:\n\n....\n    \u003copt\u003e\n      \u003cperson firstname=\"Joe\" lastname=\"Smith\"\u003e\n        \u003cemail\u003ejoe@smith.com\u003c/email\u003e\n        \u003cemail\u003ejsmith@yahoo.com\u003c/email\u003e\n      \u003c/person\u003e\n      \u003cperson firstname=\"Bob\" lastname=\"Smith\"\u003e\n        \u003cemail\u003ebob@smith.com\u003c/email\u003e\n      \u003c/person\u003e\n    \u003c/opt\u003e\n\n    {\n      'person' =\u003e [\n        {\n          'email' =\u003e [\n            'joe@smith.com',\n            'jsmith@yahoo.com'\n          ],\n          'firstname' =\u003e 'Joe',\n          'lastname' =\u003e 'Smith'\n        },\n        {\n          'email' =\u003e ['bob@smith.com'],\n          'firstname' =\u003e 'Bob',\n          'lastname' =\u003e 'Smith'\n        }\n      ]\n    }\n....\n\nNested elements with a recognised key attribute are transformed (folded) from an array into a hash keyed on the value of that attribute, that is, calling _xml_in_ with the 'KeyAttr' set to _[key]_ will transform\n\n....\n    \u003copt\u003e\n      \u003cperson key=\"jsmith\" firstname=\"Joe\" lastname=\"Smith\" /\u003e\n      \u003cperson key=\"tsmith\" firstname=\"Tom\" lastname=\"Smith\" /\u003e\n      \u003cperson key=\"jbloggs\" firstname=\"Joe\" lastname=\"Bloggs\" /\u003e\n    \u003c/opt\u003e\n....\n\ninto\n\n....\n    {\n      'person' =\u003e {\n        'jbloggs' =\u003e {\n          'firstname' =\u003e 'Joe',\n          'lastname' =\u003e 'Bloggs'\n        },\n        'tsmith' =\u003e {\n          'firstname' =\u003e 'Tom',\n          'lastname' =\u003e 'Smith'\n        },\n        'jsmith' =\u003e {\n          'firstname' =\u003e 'Joe',\n          'lastname' =\u003e 'Smith'\n        }\n      }\n    }\n....\n\nThe \u003canon\u003e tag can be used to form anonymous arrays:\n\n....\n    \u003copt\u003e\n      \u003chead\u003e\u003canon\u003eCol 1\u003c/anon\u003e\u003canon\u003eCol 2\u003c/anon\u003e\u003canon\u003eCol 3\u003c/anon\u003e\u003c/head\u003e\n      \u003cdata\u003e\u003canon\u003eR1C1\u003c/anon\u003e\u003canon\u003eR1C2\u003c/anon\u003e\u003canon\u003eR1C3\u003c/anon\u003e\u003c/data\u003e\n      \u003cdata\u003e\u003canon\u003eR2C1\u003c/anon\u003e\u003canon\u003eR2C2\u003c/anon\u003e\u003canon\u003eR2C3\u003c/anon\u003e\u003c/data\u003e\n      \u003cdata\u003e\u003canon\u003eR3C1\u003c/anon\u003e\u003canon\u003eR3C2\u003c/anon\u003e\u003canon\u003eR3C3\u003c/anon\u003e\u003c/data\u003e\n    \u003c/opt\u003e\n\n    {\n      'head' =\u003e [\n        [ 'Col 1', 'Col 2', 'Col 3' ]\n      ],\n      'data' =\u003e [\n        [ 'R1C1', 'R1C2', 'R1C3' ],\n        [ 'R2C1', 'R2C2', 'R2C3' ],\n        [ 'R3C1', 'R3C2', 'R3C3' ]\n      ]\n    }\n....\n\nAnonymous arrays can be nested to arbitrary levels and as a special case, if the surrounding tags for an XML document contain only an anonymous array the array will be returned directly rather than the usual hash:\n\n....\n    \u003copt\u003e\n      \u003canon\u003e\u003canon\u003eCol 1\u003c/anon\u003e\u003canon\u003eCol 2\u003c/anon\u003e\u003c/anon\u003e\n      \u003canon\u003e\u003canon\u003eR1C1\u003c/anon\u003e\u003canon\u003eR1C2\u003c/anon\u003e\u003c/anon\u003e\n      \u003canon\u003e\u003canon\u003eR2C1\u003c/anon\u003e\u003canon\u003eR2C2\u003c/anon\u003e\u003c/anon\u003e\n    \u003c/opt\u003e\n\n    [\n      [ 'Col 1', 'Col 2' ],\n      [ 'R1C1', 'R1C2' ],\n      [ 'R2C1', 'R2C2' ]\n    ]\n....\n\nElements which only contain text content will simply be represented as a scalar. Where an element has both attributes and text content, the element will be represented as a hash with the text content in the 'content' key:\n\n....\n    \u003copt\u003e\n      \u003cone\u003efirst\u003c/one\u003e\n      \u003ctwo attr=\"value\"\u003esecond\u003c/two\u003e\n    \u003c/opt\u003e\n\n    {\n      'one' =\u003e 'first',\n      'two' =\u003e { 'attr' =\u003e 'value', 'content' =\u003e 'second' }\n    }\n....\n\nMixed content (elements which contain both text content and nested elements) will be not be represented in a useful way - element order and significant whitespace will be lost. If you need to work with mixed content, then _XmlSimple_ is not the right tool for your job - check out the next section.\n\n[[further]]\n== Where to from here?\n\n_XmlSimple_ is by nature very simple.\n\n* The parsing process liberally disposes of 'surplus' whitespace - some applications will be sensitive to this.\n* Slurping data into a hash will implicitly discard information about attribute order. Normally this would not be a problem because any items for which order is important would typically be encoded as elements rather than attributes. However, _XmlSimple_'s aggressive slurping and folding algorithms can defeat even these techniques.\n* The API offers little control over the output of _xml_out_. In particular, it is not especially likely that feeding the output from _xml_in_ into _xml_out_ will reproduce the original XML (although passing the output from _xml_out_ into _xml_in_ should reproduce the original data structure).\n* _xml_out_ cannot produce well-formed HTML unless you feed it with care - hash keys must conform to XML element naming rules and _nil_ values should be avoided.\n* _xml_out_ does not currently support encodings (although it shouldn't stand in your way if you feed it encoded data).\n* If you're attempting to get the output from _xml_out_ to conform to a specific DTD, you're almost certainly using the wrong tool for the job.\n\nIf any of these points are a problem for you, then _XmlSimple_ is probably not the right class for your application.\n\n== FAQ\n\nQuestion: if I include XmlSimple in a rails app and run for example 'rake' in the root of the app, I always get the following warnings:\n\n....\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:275:\n  warning: already initialized constant KNOWN_OPTIONS\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:280:\n  warning: already initialized constant DEF_KEY_ATTRIBUTES\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:281:\n  warning: already initialized constant DEF_ROOT_NAME\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:282:\n  warning: already initialized constant DEF_CONTENT_KEY\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:283:\n  warning: already initialized constant DEF_XML_DECLARATION\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:284:\n  warning: already initialized constant DEF_ANONYMOUS_TAG\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:285:\n  warning: already initialized constant DEF_FORCE_ARRAY\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:286:\n  warning: already initialized constant DEF_INDENTATION\n\n  /usr/local/lib/ruby/gems/1.8/gems/xml-simple-1.0.10/lib/xmlsimple.rb:287:\n  warning: already initialized constant DEF_KEY_TO_SYMBOL\n....\n\nAnswer: The reason for this is, that you're using XmlSimple explicitly in a rails app. XmlSimple is part of rails (you can find it in ./actionpack-1.12.5/lib/action_controller/vendor/xml_simple.rb). Unfortunately, the library is named \"xml_simple.rb\" and not \"xmlsimple.rb\". Ruby's \"require\" prevents you from loading a library two times and it does so by checking if a file name occurs more than once. In your case somewhere in the rails framework \"require 'xml_simple'\" is performed and you run \"require 'xmlsimple'\" afterwards. Hence, the library is loaded twice and all constants are redefined.\n\nA solution is to only require xml-simple unless XmlSimple has not been defined already.\n\n== Acknowledgements\n\nA big \"Thank you!\" goes to\n\n* Grant McLean for Perl's\nhttp://www.cpan.org/modules/by-module/XML/GRANTM/[XML::Simple]\n* Yukihiro Matsumoto for Ruby.\n* Sean Russell for REXML.\n* Dave Thomas for Rdoc.\n* Nathaniel Talbott for Test::Unit.\n* Minero Aoki for his setup package.\n\n== Contact\n\nIf you have any suggestions or want to report bugs, please mailto:contact@maik-schmidt.de[contact] me.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","deployment","crash-reporting","rspec","activejob","mvc","rubygems"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/622","html_url":"https://ruby.ecosyste.ms/projects/622"}