accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

validacja XML by XSD a problem namespace w SAXParser

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  pl.comp.xml ] 

Retour : Accueil du site pl comp xml  


  Sujet:   validacja XML by XSD a problem namespace w SAXParser  
 De: ...@spamu.com (abc_javy)
 Groupes: pl.comp.lang.java, pl.comp.xml
 Organisation: "Portal Gazeta.pl -> http://www.gazeta.pl"
 Date: 08. Sep 2008, 14:44:32
X-No-Archive: Yes

ja mam blad czy ministerstwo ?

Witam, napisalem sobie klase
i niestety gdy probuje validowac, a dokladniej
000001005_COIA_Spis.xml z tej stronki za pomoca
http://epl.icm.edu.pl/viewtopic.php?t=126&highlight=spis

====================================
<?xml version="1.0" encoding="UTF-8" ?>
<SpisZdawczoOdbiorczy xmlns="http://www.mswia.gov.pl/standardy/ndap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mswia.gov.pl/standardy/ndap
SpisZdawczo-odbiorczy.xsd">
<Sprawa>.....
.......
====================================

https://ndapapp.nask.net.pl/pack/SpisZdawczo-odbiorczy.xsd
====================================
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.mswia.gov.pl/standardy/ndap"
xmlns:tns="http://www.mswia.gov.pl/standardy/ndap"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<element name="SpisZdawczoOdbiorczy">
<complexType>.........
........
====================================


to wywala wyjatkiem
Error on line 2: cvc-elt.1: Cannot find the declaration of element
'SpisZdawczoOdbiorczy'.

obojetnie czy dac w metodzie  Saxa

saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
new File(pathfilexsd).toURI().toString());
 czy
saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation",
new File(pathfilexsd).toURI().toString());


Klase dolaczam, mozna sobie xml i xsd sicagnac i klase wywolac
ValidatorXML validatorXML = new ValidatorXML();
validatorXML.validate("./SpisZdawczo-odbiorczy.xsd",
    "./000001005_COIA_Spis.xml",
    false);



Jakiekolwiek pomysly mile widziane, bo po tygodniu nie ma juz zadnych


-------------klasa------
package com.ja.xml;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

/**
 * @author ja
 *
 */
public class ValidatorXML {

 public String validate(String pathfilexsd, String pathfilexml, boolean
nonamespace)
 {
  System.out.println(new File(pathfilexml).toURI().toString());
  org.jdom.Document myDocument = null;
  SAXBuilder builder = new SAXBuilder();
  try {
   myDocument = builder.build(new FileInputStream(pathfilexml));
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (JDOMException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return validate(pathfilexsd, myDocument, nonamespace);
 }



 public String validate(String pathfilexsd, org.jdom.Document myDocument,
boolean nonamespace)
 {
  String DEFAULT_PARSER_NAME =
  "org.apache.xerces.parsers.SAXParser";
     SAXBuilder saxBuilder = new SAXBuilder(DEFAULT_PARSER_NAME, true);
     // Turn on validation
  saxBuilder.setFeature("http://apache.org/xml/features/validation/schema",
true);
 
saxBuilder.setFeature("http://apache.org/xml/features/validation/schema-full-checking",
true);
  saxBuilder.setFeature("http://xml.org/sax/features/validation", true);
  File filexsd = new File(pathfilexsd);
  if (!filexsd.exists())
  {
   System.err.println(new Exception());
   return "Brak pliku xsd";
  }
  if (nonamespace)
  {
  
saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
new File(pathfilexsd).toURI().toString());
  }
  else
  {
  
saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation",
new File(pathfilexsd).toURI().toString());
  }

  System.out.println(new File(pathfilexsd).toURI().toString());
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     XMLOutputter serializer = new XMLOutputter(Format.getCompactFormat());
     try {
   serializer.output(myDocument, out);
  } catch (IOException e) {
   e.printStackTrace();
   return e.getMessage();
  }
  //
     try {
      ByteArrayInputStream byteArrayInputStream = new
ByteArrayInputStream(out.toByteArray());
      saxBuilder.build(byteArrayInputStream);
   } catch (JDOMException e) {
     System.err.println(e.getMessage());
   return e.getMessage();
  } catch (IOException e) {
   e.printStackTrace();
   return e.getMessage();
  }
  System.out.println("Validacja zakoñcozna pomy¶lnie");
  return "0";
 }
}


DateSujet  Auteur
08.09.
*   validacja XML by XSD
abc_javy
08.09.
+* Re: validacja XML by XSD
szomiz
08.09.
|`* Re: validacja XML by XSD
szomiz
09.09.
| `* Re: validacja XML by XSD
abc_javy
09.09.
|  `* Re: validacja XML by XSD
szomiz
10.09.
|   `* Re: validacja XML by XSD
abc_javy
15.09.
|    `- Re: validacja XML by XSD
szomiz
15.09.
`- Re: validacja XML by XSD
Andrew Cohen
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Free counter and web stats