{"id":27890283,"url":"https://github.com/tibcosoftware/genxdm","last_synced_at":"2025-05-05T10:46:26.487Z","repository":{"id":35519386,"uuid":"39789872","full_name":"TIBCOSoftware/genxdm","owner":"TIBCOSoftware","description":"GenXDM: XQuery/XPath Data Model API, bridges, and processors for tree-model neutral access to XML.","archived":false,"fork":false,"pushed_at":"2024-03-06T09:30:41.000Z","size":4084,"stargazers_count":9,"open_issues_count":27,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-14T07:45:58.751Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.genxdm.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TIBCOSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"Governance.wiki.md","roadmap":null,"authors":null,"dei":null}},"created_at":"2015-07-27T18:05:27.000Z","updated_at":"2023-01-31T16:38:47.000Z","dependencies_parsed_at":"2024-01-16T06:49:51.714Z","dependency_job_id":"e087dae5-14fa-4f2d-abcb-e6aa96481f45","html_url":"https://github.com/TIBCOSoftware/genxdm","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fgenxdm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fgenxdm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fgenxdm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TIBCOSoftware%2Fgenxdm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TIBCOSoftware","download_url":"https://codeload.github.com/TIBCOSoftware/genxdm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252485707,"owners_count":21755821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":[],"created_at":"2025-05-05T10:46:25.952Z","updated_at":"2025-05-05T10:46:26.475Z","avatar_url":"https://github.com/TIBCOSoftware.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"GenXDM (formerly gXML) provides an [XDM](http://www.w3.org/TR/xpath-datamodel/) XQuery/XPath Data\nModel applications programming interface for Java. It makes extensive use of Java generics to enable the\nAPI to run over any arbitrary tree model for which a \"bridge\" has been created—thus the name: GenXDM. Bridges\nare provided for W3C DOM, for Apache Axiom, and for a simple \"reference model\" intended to aid others to develop\nbridges as well.\n\nThe API divides naturally into \"bridges\" and \"processors.\" A bridge exposes an instance of the Data Model (typed\nor untyped, mutable or immutable). A processor operates over the data model—several examples are provided with\ninteresting functionality, core utility, or as samples for the inspiration of further development.\n\n## What's it good for?\n\nGenXDM is designed to allow the current (very broad and deep) infrastructure of XML tools to continue working,\nusing their preferred form of model for XML, while providing a path forward in which new tools can be\nmodel-agnostic. That is, it's well-known by now that one cannot introduce a new tree model for XML and expect to\nsee it supplant the DOM. We don't try to do so. We provide an API against which tools can be built—and that API\nis more pleasant and more predictable to work with than the DOM. We also provide a \"bridge\" to the DOM (which is\nnot a \"wrapper,\" but uses the Handle/Body pattern to introduce absolute minimal overhead). That, in turn, means\nthat other XML tree model APIs can be used as well, so long as there's a bridge for them.\n\nProjects often enough do this themselves—typically using a wrapper pattern rather than a bridge pattern, and\ntypically as a side effort, rather than as the primary goal. The result is extra overhead (wrapper, or Facade,\nis not an effective pattern when dealing with very large XML documents) and ultimately a loss of momentum. In\nmost cases, different 'supported' tree models have different support profiles, different levels of completeness\n(and eventually, the whole attempt to be more generic is abandoned: \"Everybody uses DOM\").\n\n## Maven Repository\n\nIf you'd like to use it in a maven build environment, add this repository:\n[http://www.genxdm.org/maven2/])http://www.genxdm.org/maven2/)\n\nNote: that repository is no longer available.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibcosoftware%2Fgenxdm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftibcosoftware%2Fgenxdm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibcosoftware%2Fgenxdm/lists"}