XML consegue pegar caminho da aplicacao?

4 respostas
R

Fala galera…

seguinte…uso 2 arquivos XML aki no sistema e eles utilizam o caminho fisico do tomcat da maquina…

teria como fazer o XML reconhecer esse caminho automaticamente, sem ter q colocar na mao??

valew

4 Respostas

louds

Por caminho físico voce diz ‘rua bla bla, andar X, sala 99, 2o HD da maquina Y’? Se for isso, creio que não.

Caso não seja isso, onde exatamente voce ta usando o caminho do tomcat neles? Definição de entidades? Nós de texto? Comentarios? Nós de processamento?

Se for em alguns dos anteriores não existe forma de um parser xml simplesmente ‘adivinhar’ onde tá o tomcat sem voce fornecer 1 resource locator.

R

bom, meu XML tah assim:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DOWNLOAD SYSTEM "download.dtd">
<DOWNLOAD>
    <FOLDER PATH="E:/tomcat4/webapps/SCPWEB/download">
        <PROPERTIES CONTENT-TYPE-FILE="mimes-type.xml" CONTENT-DISPOSITION="attachment"/>
    </FOLDER>
</DOWNLOAD>

na tag FOLDER, queria deixar o PATH dinamico…sem ter q setar o caminho do tomcat…dah p/ fazer??

louds

Hmm, o teu problema é que não tem como referenciar uma entidade de dentro de um atributo, mesmo pq não faz o menor sentido.

Oque voce pode fazer é modificar a estrutura do teu xml um pouco

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE DOWNLOAD SYSTEM "download.dtd"> 
<DOWNLOAD> 
    <FOLDER>
        <PATH>E:/tomcat4/webapps/SCPWEB/download</PATH>
        <PROPERTIES CONTENT-TYPE-FILE="mimes-type.xml" CONTENT-DISPOSITION="attachment"/> 
    </FOLDER> 
</DOWNLOAD>

Ai voce pode utilizar entidades para vincular o end do tomcat:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE DOWNLOAD SYSTEM "download.dtd"
[ <!ENTITY tomcat "E:/tomcat4/webapps/SCPWEB/download">
]> 
<DOWNLOAD> 
    <FOLDER>
        <PATH>&tomcat;</PATH>
        <PROPERTIES CONTENT-TYPE-FILE="mimes-type.xml" CONTENT-DISPOSITION="attachment"/> 
    </FOLDER> 
</DOWNLOAD>

Caso voce queira manter esse arquivo fora, voce pode utilizar 1 identificador público ‘<!ENTITY tomcat PUBLIC “//TOMCAT//PATH”>’ só que nesse caso voce precisa configurar 1 entity resolver pra todos parsers XML que forem utilizar o documento.

Existe ainda uma ultima opção, que seria manter o path em um arquivo só e incluí-lo em todos demais:

&lt;?xml version="1.0" encoding="UTF-8"?&gt; 
&lt;!DOCTYPE DOWNLOAD SYSTEM "download.dtd"
&#91; &lt;!ENTITY tomcat_path SYSTEM "tomcat-path.xml"&gt;
&#93;&gt; 
&lt;DOWNLOAD&gt; 
    &lt;FOLDER&gt;
        &amp;tomcat_path;
        &lt;PROPERTIES CONTENT-TYPE-FILE="mimes-type.xml" CONTENT-DISPOSITION="attachment"/&gt; 
    &lt;/FOLDER&gt; 
&lt;/DOWNLOAD&gt;
R

valew pela ajuda…
mas mesmo assim preciso informar o arquivo fisico do tomcat…

entao nao dah p fazer o q pensei…vou deixar assim mesmo…

falow

Criado 20 de agosto de 2003
Ultima resposta 20 de ago. de 2003
Respostas 4
Participantes 2