{"id":21426083,"url":"https://github.com/bcdh/laravel-exist-db-rest-client","last_synced_at":"2025-07-14T09:34:43.819Z","repository":{"id":62492413,"uuid":"58386015","full_name":"BCDH/Laravel-eXist-db-REST-Client","owner":"BCDH","description":"A Laravel client for querying and transforming results from eXist-db via REST API ","archived":false,"fork":false,"pushed_at":"2016-11-08T18:15:16.000Z","size":39,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-18T07:00:01.604Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BCDH.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2016-05-09T15:10:11.000Z","updated_at":"2018-03-03T11:23:42.000Z","dependencies_parsed_at":"2022-11-02T11:16:37.775Z","dependency_job_id":null,"html_url":"https://github.com/BCDH/Laravel-eXist-db-REST-Client","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BCDH%2FLaravel-eXist-db-REST-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BCDH%2FLaravel-eXist-db-REST-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BCDH%2FLaravel-eXist-db-REST-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BCDH%2FLaravel-eXist-db-REST-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BCDH","download_url":"https://codeload.github.com/BCDH/Laravel-eXist-db-REST-Client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225970065,"owners_count":17553391,"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":"2024-11-22T21:39:53.528Z","updated_at":"2024-11-22T21:39:53.962Z","avatar_url":"https://github.com/BCDH.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Laravel eXist-db REST Client\n=============================\n\nA Laravel client for querying and transforming results from eXist-db via REST API.\n\n##  Requirements:\n\n- Laravel 5\n- PHP 5.5\n- PHP XSLT extension\n```bash\nsudo apt-get install php5-xsl\n```\n\n## Installing\n\n####1. Add the service provider to your config/app.php:\n\n    BCDH\\ExistDbRestClient\\ExistDbServiceProvider::class\n\n####2. Publish your configuration file:\n    \n    php artisan vendor:publish\n    \n####3. Edit your connection credentials in `config/exist-db.php`\n\n    [\n        'user'          =\u003e 'admin',\n        'password'      =\u003e 'admin',\n    \n        'protocol'      =\u003e 'http',\n        'host'          =\u003e 'localhost',\n        'port'          =\u003e 8080,\n        'path'          =\u003e 'exist/rest',\n    \n        /* alternatively, you can specify the URI as a whole in the form */\n        // 'uri'=\u003e'http://localhost:8080/exist/rest/'\n    \n        'xsl'           =\u003e 'no',\n        'indent'        =\u003e 'yes',\n        'howMany'       =\u003e 10,\n        'start'         =\u003e 1,\n        'wrap'          =\u003e 'yes'\n    ]\n    \n\n## Usage \n\n```php\nuse BCDH\\ExistDbRestClient\\ExistDbRestClient;\n\n$q = 'for $cd in /CD[./ARTIST=$artist] return $cd';\n\n$connection = new ExistDbRestClient();\n\n$query = $connection-\u003eprepareQuery();\n$query-\u003ebindVariable('artist', 'Bonnie Tyler');\n$query-\u003esetCollection(\"CDCatalog\");\n$query-\u003esetQuery($q);\n\n$result = $query-\u003eget();\n$document = $result-\u003egetDocument();\n```\n\n#### Result formatting\n\n[sabre/xml](http://sabre.io/xml/reading/) library is used for parsing xml result.\nYou can pass an instance of \\Sabre\\Xml\\Service with your own (de)serializers to Query request methods\n\n#### Result example\n\n```php\narray(\n    array(\n        'name' =\u003e '{}CD',\n        'value' =\u003e array(\n            0 =\u003e array(\n                'name' =\u003e '{}TITLE',\n                'value' =\u003e 'Empire Burlesque',\n                'attributes' =\u003e array(),\n            ),\n            1 =\u003e array(\n                'name' =\u003e '{}ARTIST',\n                'value' =\u003e 'Bob Dylan',\n                'attributes' =\u003e array(),\n            ),\n            2 =\u003e array(\n                'name' =\u003e '{}COUNTRY',\n                'value' =\u003e 'USA',\n                'attributes' =\u003e array(),\n            ),\n            3 =\u003e array(\n                'name' =\u003e '{}COMPANY',\n                'value' =\u003e 'Columbia',\n                'attributes' =\u003e array(),\n            )\n        ),\n        'attributes' =\u003e  array (\n            'favourite' =\u003e '1',\n        ),\n    ),\n);\n```\n\n## XLS transformations\n\n- Single result\n\n```php\n$result = $query-\u003eget();\n$document = $result-\u003egetDocument();\n$singleCd = $document[0];\n\n$html = $result-\u003etransform(__DIR__ . '/xml/cd_catalog_simplified.xsl', $singleCd);\n```\n\n- Result\n\n```php\n$result = $query-\u003eget();\n$document = $result-\u003egetDocument();\n$rootTagName = '{}catalog';\n\n$html = $result-\u003etransform(__DIR__ . '/xml/cd_catalog_simplified.xsl', $document, $rootTagName);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcdh%2Flaravel-exist-db-rest-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbcdh%2Flaravel-exist-db-rest-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcdh%2Flaravel-exist-db-rest-client/lists"}