Avatar billede viht Nybegynder
05. februar 2003 - 14:31 Der er 6 kommentarer og
1 løsning

Skemavalidering i javas JAXP

Jeg har problemer med at validere noget xml med et skemadokument jeg har skrevet.

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
  factory.setNamespaceAware(true);
  factory.setValidating(true);
  factory.setAttribute(
  "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
  "http://www.w3.org/2001/XMLSchema");
  factory.setAttribute(
  "http://java.sun.com/xml/jaxp/properties/schemaSource",
  "figures.xsd");
}
catch (IllegalArgumentException exception) {
  System.out.println (exception);
}

Jeg får:
java.lang.IllegalArgumentException: No attributes are implemented

Metoden setAttribute(...) i DocumentBuilderFactory er abstract:
public abstract void setAttribute(String name,
                                  Object value)
                          throws IllegalArgumentException
Allows the user to set specific attributes on the underlying implementation.

What does that mean?

Jeg læser rundt omkring at skemavalidering først bliver en realitet i JAXP 1.2, men er det ikke en del af j2se1.4.1_01? Mine klassefiler i rt.jar/javax/xml/parsers/ er hvert fald temmelig nye.
Avatar billede arne_v Ekspert
05. februar 2003 - 15:11 #1
JAXP 1.2 er ikke med i J2SE 1.4 - du skal have fat i "XML summer pack 02" !
Avatar billede viht Nybegynder
05. februar 2003 - 15:13 #2
Det har jeg hentet ned, men de klassefiler der er i pakken er ældre end dem i rt.jar
Avatar billede arne_v Ekspert
05. februar 2003 - 15:14 #3
Jeg mener at det er JAXP 1.1.3 der er i J2SE 1.4.
Avatar billede arne_v Ekspert
05. februar 2003 - 15:19 #4
Kan godt være.

Men derfor tror jeg alligevel at du skal prøve med summer paxk 02 !
Avatar billede viht Nybegynder
05. februar 2003 - 15:28 #5
jeg prøver det lige af.
Avatar billede viht Nybegynder
05. februar 2003 - 20:28 #6
dom.jar og xercesImpl.jar i classpath og det kører.
Avatar billede arne_v Ekspert
05. februar 2003 - 20:41 #7
Jeg formoder, at de datoer der har villedt dig skyldes, at
JAXP 1.2 ikke var tilgængelig da J2SE 1.4.0 kom på gaden, så der
tog de JAXP 1.1.3, så kom JAXP 1.2 senere, men da de skulle
lave J2SE 1.4.1 senere igem, så valgte de ikke at tilføje
ny funktionalitet, men recompilede JAXP 1.1.3 koden. Kun et
gæt, men det lyder plausibelt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester