Caros, A mensagem acabou demorando muito pra chegar na lista eu encontrei uma solução para o problema. A questão agora é que o Oracle não está validando os campos obrigatórios do XML. Se alguém souber como ajudar, agradeço.
Em 23/10/07, André Castro <[EMAIL PROTECTED]> escreveu: > > Boa tarde colegas! > Passei um tempo fora do grupo. Porém, depois de muito correr atrás de > informações na web, recorro aos amigos para sanar uma dúvida. > > Estive pesquinsando no arquivo do grupo e encontrei essa mensagem > falando sobre a validação do XML contra uma base XSD. > Executei todos os passos da instalação, tenho o usuário criado, > estrutura de diretórios virtuais idem. Quando executo o registro do > XSD para o schema, ele aparece no diretório, tudo certo. > > Porém não estou entendendo como é realizada a validação do XML. Se > tento adicionar (seja por FTP ou por Pl/SQL) um XML ele aceita de > qualquer maneira. Tenho dois arquivos de exemplo, um "bom" e > outro "ruim". > Mas nenhum deles apresenta qualquer tipo de erro ao ser carregado. > Me corrijam se eu estiver errado, mas eu havia entendido que ao > registar um XSD no schema, o mesmo passaria a aceitar somente XML's > naquele formato. > > Tudo isso acontece num Oracle 10g rodando num SuSE 9.3 > > Alguma idéia? > > []'s > André Castro > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, > "hribeiro01" <[EMAIL PROTECTED]> escreveu > > > > Nadia, Bom dia. > > > > Bom, a Oracle disponibilizou na Feature XMLDB 2 metodologias, > sendo > > Modo Estruturado ou Não Estruturado. > > No seu caso, vc optou pelo modo não estruturado, onde vários > outros > > campos como id, descricao pertence a tabela onde será inserido o > xml, > > mas vale ressaltar q esse metodo dependendo da qtd de elementos > pode > > gerar um overhad (parse) altissimo, e a Oracle ainda ñ tem uma > > solução para resolver o problema de parse.. mas na minha opinião, > > tanto o servidor de aplicação como o de banco de dados ainda vão > > sofrer para parsear o xml. > > Agora, se for pelo modo estruturado vc precisa criar e > especificar > > o arquivo xsd, onde vc terá q registrar no Oracle o schema para > > validação do xml e consequentemente a trigger de validação entre em > > atividade. > > Portanto, analise seu negocio e implemente a melhor metedologia > > para o seu ambiente. > > > > > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, > "nadia_grupos" > > <[EMAIL PROTECTED]> escreveu > > > Bom dia Hamilton!!! > > > > > > Vamos lá. > > > > > > Possuimos aqui na empresa vários arquivos xml para validar dados > > para > > > tranferencias de bases. > > > > > > O que tenho que fazer agora é criar uma tabela que a principio > terá > > > três campos, um id, um campo para a descricao do xml e um onde > irei > > > inserir o xml. Nesse último estou pensando em colocar em um campo > > do > > > tipo XMLType. > > > E preciso criar uma procedure para validar o xml ao inseri-lo na > > > tabela. > > > Validar o xml seria verificar se não existem problemas de tags > não > > > fechadas ou problemas em relação ao arquivo dtd. > > > > > > Muito obrigada mesmo, > > > :D > > > Nádia... > > > > > > > > > > > > > > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, > "hribeiro01" <[EMAIL PROTECTED]> > > > escreveu > > > > Nadia, > > > > > > > > Vamos lá.. vc esta tentando usar a Feature XMLDB da Oracle ou > > vc > > > > esta querendo usar uma metodologia diferente? > > > > A Oracle disponibiliza algumas funcionalidades q lhe trará > > > > beneficios, mas para isso vc deverá seguir suas regras. > > > > O campo sys_nc_rowinfo$ conforme descrito abaixo, pertence a > > > tabela > > > > xml_schema q pertence a um schema Oracle chamado > > > > http://www.oracle.com/xsd/purchaseOrder.xsd q por sua vez > existem > > > > vários elementos TYPE (create type ... as object ... ). > > > > Todo esse conjunto forma o XMLDB Oracle q dependendo da > > > utilização > > > > pode trazer agilidade na validação do xml ou voltar a utilizar > o > > > > padrão txt para validação.. isso vai depender do custo do > projeto > > > > claro. > > > > Se precisar de mais informações, me passe mais detalhes. > > > > > > > > Abs > > > > > > > > Hamilton > > > > > > > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, > "nadia_grupos" > > > > <[EMAIL PROTECTED]> escreveu > > > > > Olá Erige e Pessoal!!! > > > > > > > > > > Não entendi o funcionamento da trigger. > > > > > > > > > > Sei que a trigger é executada a cada linha inserida na tabela > > > > > xml_schema. > > > > > > > > > > O que significa essa linha? > > > > > :new.sys_nc_rowinfo$.schemavalidate(); > > > > > > > > > > Desde já muito obrigada, > > > > > :D > > > > > Nádia... > > > > > > > > > > --- Em oracle_br@yahoogrupos.com.br<oracle_br%40yahoogrupos.com.br>, > "hribeiro01" > <[EMAIL PROTECTED]> > > > > > escreveu > > > > > > Nadia, > > > > > > > > > > > > Para validar o xml no Oracle eh necessário a utilização > da > > > > > Feature > > > > > > XMLDB, conforme Note: 243554.1, ou pela trigger abaixo: > > > > > > > > > > > > create or replace trigger VALIDATE_SCHEMA_XML > > > > > > before insert on XML_SCHEMA > > > > > > for each row > > > > > > begin > > > > > > if (:new.sys_nc_rowinfo$ is not null) then > > > > > > :new.sys_nc_rowinfo$.schemavalidate(); > > > > > > end if; > > > > > > end; > > > > > > / > > > > > > > > > > > > > > > > > > > > > > > > --- Em oracle_br@yahoogrupos.com.br<oracle_br%40yahoogrupos.com.br>, > "nadia_grupos" > > > > > > <[EMAIL PROTECTED]> escreveu > > > > > > > Boa tarde pessoal!!! > > > > > > > > > > > > > > Como posso saber através do oracle9i se o arquivo xml em > > > quetão > > > > é > > > > > > um > > > > > > > xml válido? > > > > > > > > > > > > > > Obrigada, > > > > > > > :D > > > > > > > Nádia... > > > > > > ------------------------------ > E-mail classificado pelo Identificador de Spam Inteligente. > Para alterar a categoria classificada, visite o Terra > Mail<http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=dede2c&_l=1,1193255447.363094.19606.buruma.hst.terra.com.br,29766,Des15,Des15> > > ------------------------------ > Esta mensagem foi verificada pelo E-mail Protegido > Terra<http://mail.terra.com.br/> > . > Scan engine: McAfee VirusScan / Atualizado em 23/10/2007 / Versão: 5.1.00 > /5147 > Proteja o seu e-mail Terra: http://mail.terra.com.br/ > > [As partes desta mensagem que não continham texto foram removidas]