Handle SPS packages like a breeze.
Project description
scielo.packtools
================
Canivete suiço para a inspeção de pacotes SPS.
Instalação
----------
Python Package Index (recomendado):
```bash
pip install packtools
```
Pip + git (versão de desenvolvimento):
```bash
pip install -e git+git://github.com/scieloorg/packtools.git#egg=packtools
```
Repositório de códigos (versão de desenvolvimento):
```bash
git clone https://github.com/scieloorg/packtools.git
cd packtools
python setup.py install
```
Configuração do Catálogo XML
----------------------------
Um Catálogo XML é um mecanismo de *lookup* que pode ser utilizado para evitar que requisições de
rede sejam realizadas para carregar DTDs externas.
Por questões de desempenho e segurança, as instâncias de `stylechecker.XML` não realizam
conexões de rede, portanto é extremamente recomendável que seja configurado um Catálogo XML,
que traduz ids públicos para uris de arquivos locais.
O `packtools` já apresenta um catálogo padrão, que para ser utilizado basta definir a
variável de ambiente `XML_CATALOG_FILES` com o caminho absoluto para
`packtools/catalogs/scielo-publishing-schema.xml`.
Mais informações em http://xmlsoft.org/catalog.html#Simple
Utilitário `stylechecker`
-------------------------
Após a instalação, o programa `stylechecker` deverá estar disponível no seu emulador de terminal.
Esse programa realiza a validação de um determinado XML no formato SPS contra a DTD, e
apresenta uma lista dos erros encontrados. Também é possível *anotar* os erros encontrados em uma
cópia do XML em validação, por meio do argumento opcional `--annotated`.
O utilitário `stylechecker` tenta carregar a DTD externa, especificada na declaração DOCTYPE do
XML. Para evitar esse comportamento, utilize a opção `--nonetwork`.
```bash
$ stylechecker -h
usage: stylechecker [-h] [--annotated] [--nonetwork] [--version] xmlpath
stylechecker cli utility.
positional arguments:
xmlpath Filesystem path or URL to the XML file.
optional arguments:
-h, --help show this help message and exit
--annotated
--nonetwork
--version show program's version number and exit
```
Obs.: Para validar XMLs disponíveis via http, é necessário delimitar a URL com aspas ou apóstrofo. e.g.:
```bash
$ stylechecker "http://192.168.1.162:7000/api/v1/article?code=S1516-635X2014000100012&format=xmlrsps"
Valid XML! ;)
Invalid SPS Style! Found 3 errors:
Element 'journal-meta': Missing element journal-id of type "nlm-ta" or "publisher-id".
Element 'journal-title-group': Missing element abbrev-journal-title of type "publisher".
Element 'journal-meta': Missing element issn of type "epub".
```
History
=======
0.5
---
* Basic implementation of XML style rules according to SciELO PS version 1.1.
* `stylechecker` and `packbuilder` console utilities.
* Major performance improvements on `XMLValidator` instantiation, when used
with long-running processes (9.5x).
================
Canivete suiço para a inspeção de pacotes SPS.
Instalação
----------
Python Package Index (recomendado):
```bash
pip install packtools
```
Pip + git (versão de desenvolvimento):
```bash
pip install -e git+git://github.com/scieloorg/packtools.git#egg=packtools
```
Repositório de códigos (versão de desenvolvimento):
```bash
git clone https://github.com/scieloorg/packtools.git
cd packtools
python setup.py install
```
Configuração do Catálogo XML
----------------------------
Um Catálogo XML é um mecanismo de *lookup* que pode ser utilizado para evitar que requisições de
rede sejam realizadas para carregar DTDs externas.
Por questões de desempenho e segurança, as instâncias de `stylechecker.XML` não realizam
conexões de rede, portanto é extremamente recomendável que seja configurado um Catálogo XML,
que traduz ids públicos para uris de arquivos locais.
O `packtools` já apresenta um catálogo padrão, que para ser utilizado basta definir a
variável de ambiente `XML_CATALOG_FILES` com o caminho absoluto para
`packtools/catalogs/scielo-publishing-schema.xml`.
Mais informações em http://xmlsoft.org/catalog.html#Simple
Utilitário `stylechecker`
-------------------------
Após a instalação, o programa `stylechecker` deverá estar disponível no seu emulador de terminal.
Esse programa realiza a validação de um determinado XML no formato SPS contra a DTD, e
apresenta uma lista dos erros encontrados. Também é possível *anotar* os erros encontrados em uma
cópia do XML em validação, por meio do argumento opcional `--annotated`.
O utilitário `stylechecker` tenta carregar a DTD externa, especificada na declaração DOCTYPE do
XML. Para evitar esse comportamento, utilize a opção `--nonetwork`.
```bash
$ stylechecker -h
usage: stylechecker [-h] [--annotated] [--nonetwork] [--version] xmlpath
stylechecker cli utility.
positional arguments:
xmlpath Filesystem path or URL to the XML file.
optional arguments:
-h, --help show this help message and exit
--annotated
--nonetwork
--version show program's version number and exit
```
Obs.: Para validar XMLs disponíveis via http, é necessário delimitar a URL com aspas ou apóstrofo. e.g.:
```bash
$ stylechecker "http://192.168.1.162:7000/api/v1/article?code=S1516-635X2014000100012&format=xmlrsps"
Valid XML! ;)
Invalid SPS Style! Found 3 errors:
Element 'journal-meta': Missing element journal-id of type "nlm-ta" or "publisher-id".
Element 'journal-title-group': Missing element abbrev-journal-title of type "publisher".
Element 'journal-meta': Missing element issn of type "epub".
```
History
=======
0.5
---
* Basic implementation of XML style rules according to SciELO PS version 1.1.
* `stylechecker` and `packbuilder` console utilities.
* Major performance improvements on `XMLValidator` instantiation, when used
with long-running processes (9.5x).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
packtools-0.5.tar.gz
(400.2 kB
view details)
Built Distribution
packtools-0.5-py2-none-any.whl
(563.9 kB
view details)
File details
Details for the file packtools-0.5.tar.gz
.
File metadata
- Download URL: packtools-0.5.tar.gz
- Upload date:
- Size: 400.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cf14c363b00580d5b8f4e812adc6a3020acd63247d5c5f3723230d9d9c8ae8e |
|
MD5 | 4f4b90b97e4b85e3d3aeb7c1bdb467e6 |
|
BLAKE2b-256 | c3fdea9622093fcdabb2a22c44748d9cc9cfd2cdf9d264ff0711207f7bd92790 |
File details
Details for the file packtools-0.5-py2-none-any.whl
.
File metadata
- Download URL: packtools-0.5-py2-none-any.whl
- Upload date:
- Size: 563.9 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f0e9df33578a077a90821e0b51bbdbb19394f52ad8269ac5516b1e4fd418bb1 |
|
MD5 | 5ecea24d52e1a74fb624c57c0e780b1d |
|
BLAKE2b-256 | 39c1160dda27014636f82d8b03db3c9c75727d5b7e436ec5f29d00456d03cfb3 |