{"id":28435175,"url":"https://github.com/skiptools/skip-xml","last_synced_at":"2025-08-28T09:08:24.889Z","repository":{"id":189817808,"uuid":"681366486","full_name":"skiptools/skip-xml","owner":"skiptools","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-28T02:38:06.000Z","size":119,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-05T20:06:51.413Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skiptools.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.LGPL","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-21T21:26:44.000Z","updated_at":"2025-02-28T02:38:10.000Z","dependencies_parsed_at":"2023-08-21T22:43:17.126Z","dependency_job_id":"52cfb22b-9646-46fc-8620-423386b41f45","html_url":"https://github.com/skiptools/skip-xml","commit_stats":null,"previous_names":["skiptools/skip-xml"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/skiptools/skip-xml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-xml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-xml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-xml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-xml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skiptools","download_url":"https://codeload.github.com/skiptools/skip-xml/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-xml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272475089,"owners_count":24940683,"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","status":"online","status_checked_at":"2025-08-28T02:00:10.768Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"keywords":[],"created_at":"2025-06-05T20:06:51.023Z","updated_at":"2025-08-28T09:08:24.874Z","avatar_url":"https://github.com/skiptools.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nSkipXML is a Skip framework that provides an XML Document parser.\n\nOn Swift/iOS it is implemented using `Foundation.XMLParser` and `Foundation.XMLParserDelegate`,\nand on the Kotlin/Android side it uses `org.xml.sax.XMLReader` and `org.xml.sax.helpers.DefaultHandler`.\n\nDocuments are parsed into in-memory `XMLNode` structures as follows:\n\n```swift\nimport SkipXML\n\nfunc parseXML(data: Data) throws -\u003e String {\n    let node = try XMLNode.parse(data: data, options: [.processNamespaces])    \n    return node.xmlString() // returns the XML document as a string\n}\n\n```\n \n\n## Building\n\nThis project is a Swift Package Manager module that uses the\n[Skip](https://skip.tools) plugin to transpile Swift into Kotlin.\n\nBuilding the module requires that Skip be installed using \n[Homebrew](https://brew.sh) with `brew install skiptools/skip/skip`.\nThis will also install the necessary build prerequisites:\nKotlin, Gradle, and the Android build tools.\n\n## Testing\n\nThe module can be tested using the standard `swift test` command\nor by running the test target for the macOS destination in Xcode,\nwhich will run the Swift tests as well as the transpiled\nKotlin JUnit tests in the Robolectric Android simulation environment.\n\nParity testing can be performed with `skip test`,\nwhich will output a table of the test results for both platforms.\n\n\n## License\n\nThis software is licensed under the\n[GNU Lesser General Public License v3.0](https://spdx.org/licenses/LGPL-3.0-only.html),\nwith the following\n[linking exception](https://spdx.org/licenses/LGPL-3.0-linking-exception.html)\nto clarify that distribution to restricted environments (e.g., app stores)\nis permitted:\n\n\u003e This software is licensed under the LGPL3, included below.\n\u003e As a special exception to the GNU Lesser General Public License version 3\n\u003e (\"LGPL3\"), the copyright holders of this Library give you permission to\n\u003e convey to a third party a Combined Work that links statically or dynamically\n\u003e to this Library without providing any Minimal Corresponding Source or\n\u003e Minimal Application Code as set out in 4d or providing the installation\n\u003e information set out in section 4e, provided that you comply with the other\n\u003e provisions of LGPL3 and provided that you meet, for the Application the\n\u003e terms and conditions of the license(s) which apply to the Application.\n\u003e Except as stated in this special exception, the provisions of LGPL3 will\n\u003e continue to comply in full to this Library. If you modify this Library, you\n\u003e may apply this exception to your version of this Library, but you are not\n\u003e obliged to do so. If you do not wish to do so, delete this exception\n\u003e statement from your version. This exception does not (and cannot) modify any\n\u003e license terms which apply to the Application, with which you must still\n\u003e comply.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskiptools%2Fskip-xml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskiptools%2Fskip-xml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskiptools%2Fskip-xml/lists"}