public class XMLConverter extends Object
conversões, que serão aplicadas na ordem em
que foram definidas. O objetivo é converter arquivos validados por versões
anteriores do DTD para arquivos válidos de acordo com o DTD mais atual.
A lista de conversões é percorrida em ordem, até que seja encontrada a primeira conversão capaz de lidar com o DTD associado ao XML em questão. A partir daí, todas as conversões subsequentes têm que ser aplicadas, sem exceção (para que se garanta que o resultado final esteja compatível com a última versão do DTD).
XMLConversionInterface| Modifier and Type | Class and Description |
|---|---|
static class |
XMLConverter.XMLConversionStatus
Enumeração com os possíveis estados de uma conversão.
|
| Constructor and Description |
|---|
XMLConverter()
Construtor vazio.
|
XMLConverter(String dtdPrefix)
Instancia um conversor que aponta para DTDs externos (fora do JAR) e usa o
encoding default do sistema.
|
XMLConverter(String dtdPrefix,
boolean fromJar)
Instancia um conversor usando o encoding default do sistema.
|
XMLConverter(String dtdPrefix,
boolean fromJar,
String encoding)
Instancia um conversor.
|
XMLConverter(String dtdPrefix,
boolean fromJar,
String encoding,
XMLConversionInterface... conversions)
Instancia um conversor.
|
XMLConverter(XMLConversionInterface... conversions)
Insancia um conversor, recebendo a lista de conversões a serem aplicadas.
|
| Modifier and Type | Method and Description |
|---|---|
XMLConverter |
addConversion(XMLConversionInterface conversion)
Adiciona uma nova conversão ao final da lista de conversões.
|
XMLConverter |
convert(File src,
boolean validate)
Converte o XML armazenado em um arquivo.
|
XMLConverter |
convert(InputStream src,
boolean validate)
Converte um XML acessado a partir de um
InputStream. |
XMLConverter |
convert(Reader src,
boolean validate)
Converte um XML acessado a partir de um
Reader. |
XMLConverter |
convert(String content,
boolean validate)
Converte um XML armazenado em uma string.
|
XMLConverter.XMLConversionStatus |
getConversionStatus()
Indica o status da conversão.
|
List<String> |
getParserErrors()
Retorna a lista de erros de processamento do XML.
|
boolean |
hasParserErrors()
Indica se houve erros no processamento do XML.
|
boolean |
saveTo(File file)
Salva o resultado da conversão em um arquivo.
|
boolean |
saveTo(OutputStream stream)
Salva o resultado da conversão em um stream de saída, usando o encoding
default.
|
boolean |
saveTo(Writer writer)
Salva o resultado da conversão em um
Writer. |
String |
saveToString()
Aplica todas as conversões e retorna o resultado como uma string.
|
XMLConverter |
setDTDprefix(String dtdPrefix)
Define o prefixo para o DTD, apontando para uma URL ou o filesystem.
|
XMLConverter |
setDTDprefix(String dtdPrefix,
boolean fromJar)
Define um prefixo para o DTD, opcionalmente apontando para o próprio JAR.
|
XMLConverter |
setEncoding(String encoding)
Define o encoding do XML (vãlido apenas para leitura via
File ou
InputStream). |
public XMLConverter()
public XMLConverter(String dtdPrefix)
dtdPrefix - prefixo para o DTD. Pode ser uma URL, um path para o
filesystem local ou nullpublic XMLConverter(String dtdPrefix, boolean fromJar)
dtdPrefix - prefixo para o DTD. Pode ser uma URL, um path para o
filesystem local ou null. Se
fromJar == true, deve ser relativo ao JAR correntefromJar - true para indicar se o prefixo é relativo ao
JAR, false para indicar que é uma referência externapublic XMLConverter(String dtdPrefix, boolean fromJar, String encoding)
dtdPrefix - prefixo para o DTD. Pode ser uma URL, um path para o
filesystem local ou null. Se
fromJar == true, deve ser relativo ao JAR correntefromJar - true para indicar se o prefixo é relativo ao
JAR, false para indicar que é uma referência externaencoding - encoding para leitura do XML (null para usar o
encoding default). Vãlido apenas para conversão via File
ou InputStreamIllegalCharsetNameException - se o encoding é inválidoUnsupportedCharsetException - se o encoding não é suportado por esta
JVMpublic XMLConverter(String dtdPrefix, boolean fromJar, String encoding, XMLConversionInterface... conversions)
dtdPrefix - prefixo para o DTD. Pode ser uma URL, um path para o
filesystem local ou null. Se
fromJar == true, deve ser relativo ao JAR correntefromJar - true para indicar se o prefixo é relativo ao
JAR, false para indicar que é uma referência externaencoding - encoding para leitura do XML (null para usar o
encoding default) Vãlido apenas para conversão via File
ou InputStreamconversions - conversões a serem aplicadas, em ordemIllegalCharsetNameException - se o encoding é inválidoUnsupportedCharsetException - se o encoding não é suportado por esta
JVMpublic XMLConverter(XMLConversionInterface... conversions)
conversions - conversões a serem aplicadas. As conversões serão
aplicadas na ordem em que foram definidaspublic XMLConverter setDTDprefix(String dtdPrefix)
setDTDprefix(String, boolean).dtdPrefix - prefixo para o DTD. Se não possuir o protocolo (
http:// ou file://) será assumido um path
(absoluto ou relativo) no filesystemsetDTDprefix(String, boolean)public XMLConverter setDTDprefix(String dtdPrefix, boolean fromJar)
dtdPrefix - prefixo para o DTDfromJar - true para indicar que o prefixo se refere ao
próprio JAR (neste caso deve ser um path absoluto ou relativo, sem
protocolo)setDTDprefix(String)public XMLConverter setEncoding(String encoding)
File ou
InputStream). Caso não seja executado, o encoding padrão será
usado.encoding - (null para usar o encoding padrão)IllegalCharsetNameException - se o nome do charset é inválidoUnsupportedCharsetException - se o charset não é suportado por esta
JVMpublic XMLConverter addConversion(XMLConversionInterface conversion) throws XMLConversionException
conversion - - nova conversãoXMLConversionException - se a nova conversão não for capaz de
processar a saída da última conversão da listapublic XMLConverter convert(String content, boolean validate) throws XMLConversionException
content - string contendo o documento XMLvalidate - true se o XML deve ser validado de acordo com
seu DTDXMLConversionExceptionpublic XMLConverter convert(File src, boolean validate) throws XMLConversionException, FileNotFoundException
src - arquivo XMLvalidate - true se o XML deve ser validado de acordo com
seu DTDXMLConversionException - se houve algum erro na conversãoFileNotFoundException - se o arquivo passado como parâmetro era não
existepublic XMLConverter convert(InputStream src, boolean validate) throws XMLConversionException
InputStream.src - stream para leitura do XMLvalidate - true se o XML deve ser validado de acordo com
seu DTDXMLConversionExceptionpublic XMLConverter convert(Reader src, boolean validate) throws XMLConversionException
Reader.src - reader para leitura do XMLvalidate - true se o XML deve ser validado de acordo com
seu DTDXMLConversionExceptionpublic String saveToString() throws XMLConversionException
null em caso de erroXMLConversionException - se houver algum erro no processo de
conversão. Diferentes tipos de problema podem acontecer, o tipo da
exceção deve ser consultado para identificar a causa exata.public boolean saveTo(File file) throws XMLConversionException, FileNotFoundException
file - arquivo de destinotrue se o resultado foi gravado com sucessoXMLConversionException - se houver algum erro no processo de
conversão. Diferentes tipos de problema podem acontecer, o tipo da
exceção deve ser consultado para identificar a causa exata.FileNotFoundException - se o arquivo passado como parâmetro era não
existesaveTo(OutputStream)public boolean saveTo(OutputStream stream) throws XMLConversionException
IMPORTANTE: o stream não será fechado aós a gravação.
stream - stream de saídatrue se o resultado foi gravado com sucessoXMLConversionException - se houver algum erro no processo de
conversão. Diferentes tipos de problema podem acontecer, o tipo da
exceção deve ser consultado para identificar a causa exata.saveTo(File)public boolean saveTo(Writer writer) throws XMLConversionException
Writer.writer - true se o resultado foi gravado com sucessoXMLConversionException - se houver algum erro no processo de
conversão. Diferentes tipos de problema podem acontecer, o tipo da
exceção deve ser consultado para identificar a causa exata.public XMLConverter.XMLConversionStatus getConversionStatus()
public List<String> getParserErrors() throws XMLConversionException
XMLConversionException - se o parser ainda não foi instanciadopublic boolean hasParserErrors()
throws XMLConversionException
XMLConversionException - se o parser ainda não foi instanciadoCopyright © 2016 Tecgraf/PUC-Rio. All rights reserved.