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.2 (2015-01-23)
------------------
* Added method `XMLValidator.lookup_assets`.
* Added property `XMLValidator.assets`.
* Fixed minor issue that would cause //element-citation[@publication-type="report"]
to be reported as invalid.
* Fixed minor issue that would erroneously identify an element-citation element
as not being child of element ref.
0.6.1 (2014-11-28)
------------------
* Minor fix to implement changes from SciELO PS 1.1.1.
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.2 (2015-01-23)
------------------
* Added method `XMLValidator.lookup_assets`.
* Added property `XMLValidator.assets`.
* Fixed minor issue that would cause //element-citation[@publication-type="report"]
to be reported as invalid.
* Fixed minor issue that would erroneously identify an element-citation element
as not being child of element ref.
0.6.1 (2014-11-28)
------------------
* Minor fix to implement changes from SciELO PS 1.1.1.
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.2.tar.gz
(401.5 kB
view details)
Built Distribution
packtools-0.6.2-py2.py3-none-any.whl
(566.3 kB
view details)
File details
Details for the file packtools-0.6.2.tar.gz
.
File metadata
- Download URL: packtools-0.6.2.tar.gz
- Upload date:
- Size: 401.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52eff586572056201a0906c30597277d2c23d5c71d3e719a90edd4e20e4042ec |
|
MD5 | fba03ab0fc4441376a067c3c0cc4e0a7 |
|
BLAKE2b-256 | 81af7f83d2a467520543035b5dbc926c1605fe4769b10c87e66d6cdfa22a3b13 |
File details
Details for the file packtools-0.6.2-py2.py3-none-any.whl
.
File metadata
- Download URL: packtools-0.6.2-py2.py3-none-any.whl
- Upload date:
- Size: 566.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9280b0b39b826b3f60bccbc4676ae1db3e43a6b3a635efe7d5ad0dd66ee081a |
|
MD5 | 47b61ca5e0a9eba738868e507346d568 |
|
BLAKE2b-256 | 8b373fc2d14683ebfdb60d2eb1c03670f9ca0dcee6b7ad8ba11dd3514d436ee2 |