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.6 (2014-10-28)
----------------
* Python 3 support.
* Project-wide code refactoring.
* `packtools.__version__` attribute to get the package version.
* Distinction between classes of error with the attribute `StyleError.level`.
0.5 (2014-09-29)
----------------
* 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.6 (2014-10-28)
----------------
* Python 3 support.
* Project-wide code refactoring.
* `packtools.__version__` attribute to get the package version.
* Distinction between classes of error with the attribute `StyleError.level`.
0.5 (2014-09-29)
----------------
* 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.6.tar.gz
(400.8 kB
view details)
Built Distribution
packtools-0.6-py2.py3-none-any.whl
(565.3 kB
view details)
File details
Details for the file packtools-0.6.tar.gz
.
File metadata
- Download URL: packtools-0.6.tar.gz
- Upload date:
- Size: 400.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c54883dd2a7c7c2d486dd623d959cf0ccea6303f0e8b97701614a67db66124df |
|
MD5 | a03ab8364310c2d37174215f10d48bb3 |
|
BLAKE2b-256 | 9bb7b521848153e7b1dfa16cd24e9a41e1f36f4b3ed409f27df59cf8d233b17a |
File details
Details for the file packtools-0.6-py2.py3-none-any.whl
.
File metadata
- Download URL: packtools-0.6-py2.py3-none-any.whl
- Upload date:
- Size: 565.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c562b1152684b0324799ecc70979a9103f3ac581519c040d7318d93973b186e4 |
|
MD5 | 84411ea146846ec69fda7ab35dff9abb |
|
BLAKE2b-256 | c241486d4d9a88da6586afaec0381d686a3e4142795691772ae957c861f37a7b |