Olá Pessoal,
Como se faz macrosubstituição em java ?? eu fazia isso em clipper me desculpe o exemplo antigo, rsrsr
exemplo para criar uma variavel com conteudo de outra:
a = “fulano”
&a = “clovis”
*observação: o que acabei de fazer na segunda linda foi criar uma variavel com nome fulano=“clovis”
como faz isso em java ?, mas vamos ao problema:
estou fazendo um programa para ler qualquer arquivo xml, ou seja sem saber os nomes e as quantidades de tags nesse arquivo,
e pretendo gerar um novo arquivo do tipo rdf, sendo que as classes no arquivo rdf, sera criado de acordo com os nomes das tags do arquivo xml,
estou usando o jena, mas não consigo cliar uma variavel cuja o seu nome seja o coneudo de uma variavel e o nome da tag. tentei map, mas não rolou
vejam um trecho do código:
File Arqfile = null;
//**
if (resultado == JFileChooser.APPROVE_OPTION) {
Arqfile = dialogo.getSelectedFile();
//**
if (Arqfile.getName().endsWith(".xml")) {
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
String uriBase = “http://www.something.com/opend”;
model.createOntology(uriBase);
//classes
ArrayList classes = new ArrayList();
Map<String, String> valores = new HashMap<String, String>();
//**
OntClass xmlp = model.createClass(uriBase+"#"+Arqfile.getName());
//implementar parse
try {
String xmlFilename = Arqfile.getAbsolutePath();
DOMParser parser = new DOMParser();
parser.parse(xmlFilename);
Document doc = parser.getDocument();
doc.getDocumentElement().normalize();
int qtd=0;
NodeList nodes = doc.getElementsByTagName("*");
//**
for (int i =0; i < nodes.getLength(); i++) {
//criar um array dinamico com os nomes das classes do xml, se ela já foi criada,
// não cria novamente só alimenta o dataproperty
int x=0;
for(int y=0; y < classes.size(); y++) {
if (classes.get(y).equals(nodes.item(i).getLocalName())) x=1;
}
if (x==0) {
classes.add(nodes.item(i).getLocalName()); // alimenta arraylist
valores.put("classe"+i,nodes.item(i).getLocalName());
qtd=qtd+1;
//OntClass "a"+qtd = model.createClass(uriBase+"#"+Arqfile.getName());
QUERIA FAZER ISSO —> OntClass nodes.item(i).getLocalName() = model.createClass(uriBase+"#"+nodes.item(i).getLocalName());
o nome da classe seria o nome da tag que esta em getLocaName()
tem como fazer isso de alguma forma ???
// OntClass xmlp = model.createClass(uriBase+"#"+Arqfile.getName());
// xmlp.addSubClass()
// valores.put("var"+i,nodes.item(i).getLocalName());
// OntClass valores.get(“var”+i) = model.createClass(uriBase+"#"+nodes.item(i).getLocalName());
// }
System.out.println(nodes.item(i).getLocalName()); ///***
//**