PHPackages                             xmlsquad/gsheet-to-xml - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. xmlsquad/gsheet-to-xml

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

xmlsquad/gsheet-to-xml
======================

Command for parsing Google Drive URLs and converting sheets to XML.

v0.3.3(7y ago)3591[9 issues](https://github.com/xmlsquad/gsheet-to-xml/issues)4Apache-2.0PHPPHP &gt;=7.1

Since Jun 3Pushed 6y agoCompare

[ Source](https://github.com/xmlsquad/gsheet-to-xml)[ Packagist](https://packagist.org/packages/xmlsquad/gsheet-to-xml)[ RSS](/packages/xmlsquad-gsheet-to-xml/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (4)Versions (4)Used By (4)

sheet-to-xml
============

[](#sheet-to-xml)

Symfony Console command that, given the URL of a (specifically structured) Google Sheet or Google Drive folder of sheets, outputs the contents (perhaps in multiple tabs) in the form of Xml.

Designed be used in the context of the Symfony Console application at  which, in turn, is used in the context of a known directory structure which is based on [xml-authoring-project](https://github.com/xmlsquad/xml-authoring-project).

Documentation
=============

[](#documentation)

See:

Original Specification:
=======================

[](#original-specification)

Schema descriptions
-------------------

[](#schema-descriptions)

I have published

- a [schema defining how the Google Sheets map to Xml](https://docs.google.com/spreadsheets/d/1ooblH26ti5CyEJvJsLygXUJVnBvT1h6DUf67gCkrbZE/edit?usp=sharing).
- an example [Inventory sheet](https://docs.google.com/spreadsheets/d/1kU_R8RokoMy9qvJqxy72H58cS48EVs0zRJXcgTZ5YFI/edit?usp=sharing).
- an example [Xml representation of Inventory data](https://github.com/xmlsquad/xml-authoring-project/blob/master/src/Inventory/Inventory.xml).
- some of the [rules that define the valid structure of an Inventory sheet](https://github.com/john-arcus/GasInventoryValidator/blob/master/features/ValidateUploadedInventoryFiles.feature).

Naming convention.
------------------

[](#naming-convention)

Given a Google Sheet, unless the sheet's name implies it is 'ignored', it is assumed that its structure is valid structure of an Inventory sheet. Given a Google Drive folder, it is assumed that any Google Sheets found within have the valid structure of an Inventory sheet (unless the sheet's name implies it is 'ignored').

A Google sheet's with a trailing underscore in their name imply that it should be 'ignored'. A Google sheet tab's with a trailing underscore in their name imply that it should be 'ignored'.

If a file is called `foo`, then it is validated as normal. If a file is called `foo_`, then it is assumed to be 'private' and should be explicitly ignored, but it should be noted (in any feedback) that it was ignored. If a Google Sheet's tab is named `foo`, then it is validated as normal. If a Google Sheet's tab is named `foo_`, then it is assumed to be 'private' and should be explicitly ignored, but it should be noted (in any feedback) that it was ignored.

Input
-----

[](#input)

- driveUrl: The URL of the Google Drive entity (Google Sheet or Google Drive folder).
- is-recursive: if the Google Drive entity is a Google Drive folder, this option specifies whether or not to recurse through sub-directories to find sheets.

Behaviour
---------

[](#behaviour)

If the `driveUrl` is a Google Sheet write out the contents as Xml. If it is a Google Drive find all Google Sheets within the directory (recursively, if specified) and write out the contents as Xml.

Output
------

[](#output)

STD\_OUT

Streamed output.

Xml representation of the Inventory data in the Google Sheet.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~67 days

Total

3

Last Release

2764d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b3f30d378f09a6e60c2bc0344743b0a0ac47a039940ca322042d94f11016c306?d=identicon)[forikal-uk](/maintainers/forikal-uk)

---

Top Contributors

[![john-arcus](https://avatars.githubusercontent.com/u/32770045?v=4)](https://github.com/john-arcus "john-arcus (58 commits)")[![zoka123](https://avatars.githubusercontent.com/u/3052111?v=4)](https://github.com/zoka123 "zoka123 (21 commits)")[![forikal-uk](https://avatars.githubusercontent.com/u/39656410?v=4)](https://github.com/forikal-uk "forikal-uk (10 commits)")

---

Tags

google-drive-entitygoogle-sheetsrecursexmlxml-representation

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/xmlsquad-gsheet-to-xml/health.svg)

```
[![Health](https://phpackages.com/badges/xmlsquad-gsheet-to-xml/health.svg)](https://phpackages.com/packages/xmlsquad-gsheet-to-xml)
```

###  Alternatives

[presta/sitemap-bundle

A Symfony bundle that provides tools to build your application sitemap.

3929.4M28](/packages/presta-sitemap-bundle)[daux/daux.io

Documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly

825191.0k1](/packages/daux-dauxio)[php-soap/wsdl-reader

A WSDL reader in PHP

212.3M9](/packages/php-soap-wsdl-reader)[dragon-code/codestyler

A tool to automatically fix Coding Style Standards issues by The Dragon Code.

291.8M16](/packages/dragon-code-codestyler)[psx/schema

Parse and generate data schema formats

57238.7k18](/packages/psx-schema)[sspooky13/yaml-standards

Standards for yaml files

11518.3k3](/packages/sspooky13-yaml-standards)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
