Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_20230801
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
alx_20230801
Commits
bcb1e17c
Commit
bcb1e17c
authored
Aug 02, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Program walidujący - własny ErrorHandler
parent
af54e3e5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
71 additions
and
0 deletions
+71
-0
MojErrorHandler.java
ObslugaXML/src/main/java/walidacja/MojErrorHandler.java
+34
-0
WalidujWaluty1.java
ObslugaXML/src/main/java/walidacja/WalidujWaluty1.java
+1
-0
WalidujWaluty2.java
ObslugaXML/src/main/java/walidacja/WalidujWaluty2.java
+36
-0
No files found.
ObslugaXML/src/main/java/walidacja/MojErrorHandler.java
0 → 100644
View file @
bcb1e17c
package
walidacja
;
import
org.xml.sax.ErrorHandler
;
import
org.xml.sax.SAXException
;
import
org.xml.sax.SAXParseException
;
public
class
MojErrorHandler
implements
ErrorHandler
{
private
boolean
bylBlad
=
false
;
public
boolean
czyBylBlad
()
{
return
bylBlad
;
}
@Override
public
void
warning
(
SAXParseException
exception
)
throws
SAXException
{
System
.
err
.
println
(
"![WARNING] "
+
exception
.
getMessage
()
+
" linia "
+
exception
.
getLineNumber
());
bylBlad
=
true
;
}
@Override
public
void
error
(
SAXParseException
exception
)
throws
SAXException
{
System
.
err
.
println
(
"![ERROR] "
+
exception
.
getMessage
()
+
" linia "
+
exception
.
getLineNumber
());
bylBlad
=
true
;
// ewentualnie bardziej brutalnie:
//throw new SAXException("Blad walidacji.", exception);
}
@Override
public
void
fatalError
(
SAXParseException
exception
)
throws
SAXException
{
bylBlad
=
true
;
System
.
err
.
println
(
"![FATAL ERROR] "
+
exception
.
getMessage
()
+
" linia "
+
exception
.
getLineNumber
());
}
}
ObslugaXML/src/main/java/walidacja/WalidujWaluty1.java
View file @
bcb1e17c
...
@@ -7,6 +7,7 @@ import javax.xml.validation.SchemaFactory;
...
@@ -7,6 +7,7 @@ import javax.xml.validation.SchemaFactory;
import
javax.xml.validation.Validator
;
import
javax.xml.validation.Validator
;
public
class
WalidujWaluty1
{
public
class
WalidujWaluty1
{
// W tej wersji w przypadku błędu walidacji program zostanie przerwany wyjątkiem.
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
String
plikXML
=
"waluty_2022.xml"
;
String
plikXML
=
"waluty_2022.xml"
;
String
plikXSD
=
"waluty.xsd"
;
String
plikXSD
=
"waluty.xsd"
;
...
...
ObslugaXML/src/main/java/walidacja/WalidujWaluty2.java
0 → 100644
View file @
bcb1e17c
package
walidacja
;
import
javax.xml.XMLConstants
;
import
javax.xml.transform.stream.StreamSource
;
import
javax.xml.validation.Schema
;
import
javax.xml.validation.SchemaFactory
;
import
javax.xml.validation.Validator
;
public
class
WalidujWaluty2
{
public
static
void
main
(
String
[]
args
)
{
String
plikXML
=
"waluty_2022.xml"
;
String
plikXSD
=
"waluty.xsd"
;
System
.
out
.
println
(
"Początek programu"
);
try
{
SchemaFactory
sf
=
SchemaFactory
.
newInstance
(
XMLConstants
.
W3C_XML_SCHEMA_NS_URI
);
Schema
schema
=
sf
.
newSchema
(
new
StreamSource
(
plikXSD
));
Validator
validator
=
schema
.
newValidator
();
MojErrorHandler
errorHandler
=
new
MojErrorHandler
();
validator
.
setErrorHandler
(
errorHandler
);
// Teraz w przypadku błędu walidacji nie będzie wyjątku, tylko zostanie wywłana metoda z przekazanego errorHandlera.
System
.
out
.
println
(
"Start walidacji"
);
validator
.
validate
(
new
StreamSource
(
plikXML
));
if
(
errorHandler
.
czyBylBlad
())
{
System
.
out
.
println
(
"Koniec walidacji. Dokument zawierał błędy"
);
}
else
{
System
.
out
.
println
(
"Koniec walidacji. Dokument prawidłowy"
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment