Ik ben nu al een week bezig met XML en ben er uitermate tevreden over. Ik ben op dit moment bezig met een DTD op te stellen. Maar waarmee kan ik controleren of mijn DTD syntactisch correct is en voor het XML bestand (dat deze DTD nodig heeft) ook. Is hier misschien een commandline tool voor? (Liefst een java tool, omdat ik hem dan ook onder linux kan gebruiken).
Verwijderd
Weet niet zo heel veel van XML (verschil tussen parsen en validaten enzo is me wat wazig) maar zit dat niet bij Xerces in?
http://xml.apache.org/
http://xml.apache.org/
Ik gebruik inderdaad ook gewoon een XML parser (Xerces) om DTDs te checken. Eigenlijk zijn DTDs pokkedingen omdat ze gaan XML syntax hebben. XML Schema is wat dat betreft een betere keuze, maar wel iets complexer om in te stappen.
XML editors zullen vast wel DTDs kunnen controleren.
XML editors zullen vast wel DTDs kunnen controleren.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Maar kun je xerces ook als stand alone xml parser gebruiken ipv hem in een programma in te bouwen?
Ik gebruik dit:
Ik gebruik een DOM omdat SAX soms niet alles kan valideren. Alleen even zorgen dat jdom en xerces in je classpath staan
.
Volgens mij kan je trouwens ook direct Xerces gebruiken als stand-alone tool.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| import java.io.File;
import java.net.URL;
import javax.xml.parsers.*;
import org.jdom.input.SAXBuilder;
public class Validate
{
public static void main(String[] ps)
{
try
{
if(ps.length != 2)
{
printUsage();
return;
}
SAXBuilder builder = new SAXBuilder();
URL url;
if(ps[0].equals("-file"))
{
url = new File(ps[1]).toURL();
}
else if(ps[1].equals("-url"))
{
url = new URL(ps[1]);
}
else
{
printUsage();
return;
}
builder.build(url.openStream());
}
catch(Exception exc)
{
exc.printStackTrace();
}
}
private static void printUsage()
{
System.out.println("Usage: java Validate ( -file | -url ) <xml-file-location>");
}
} |
Ik gebruik een DOM omdat SAX soms niet alles kan valideren. Alleen even zorgen dat jdom en xerces in je classpath staan
Volgens mij kan je trouwens ook direct Xerces gebruiken als stand-alone tool.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Hum, je kunt zien dat ik die url nooit gebruikt, daar moet ps namelijk een 0 zijn in de conditie
.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Bedankt! heb namelijk geen zin om een editor te gebruiken omdat je dan weer te veel dingen automatisch laat doen en dat is niet goed voor inzicht
Hum ik doe hier trouwens iets heel erg doms
Ik bouw wel een DOM, maar de parser werkt gewoon met SAX. Erg dom dus
.
Als je er een DOMBuilder van maakt werkt het zoals ik wilde bereiken. Het maakt verder niet echt erg veel uit hoor
. De overhead van JDOM is dan wel wat overbodig, maar ja, JDOM build zo lekker makkelijk
.
Als je er een DOMBuilder van maakt werkt het zoals ik wilde bereiken. Het maakt verder niet echt erg veel uit hoor
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
dit is makkelijk tooltje, want de boodschappen die ken je. Dit werkt echt goed. thanx.
Mooi en graag gedaan
.
Toch leuk als je met zoiets simpels mensen al blij kan maken. Zal ik het op Sourceforge zetten?
.
Toch leuk als je met zoiets simpels mensen al blij kan maken. Zal ik het op Sourceforge zetten?
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Ik denk dat we hier zeker wel een cvs systeem voor kunnen gebruiken
Pagina: 1