include XMLPL package.
This commit is contained in:
84
packages/xml/xml_diagnosis.pl
Normal file
84
packages/xml/xml_diagnosis.pl
Normal file
@@ -0,0 +1,84 @@
|
||||
/* xml_diagnosis.pl : XML exception diagnosis.
|
||||
|
||||
*
|
||||
|
||||
* Copyright (C) 2001-2005 Binding Time Limited
|
||||
|
||||
* Copyright (C) 2005-2011 John Fletcher
|
||||
|
||||
*
|
||||
|
||||
* Current Release: $Revision: 3.3 $
|
||||
|
||||
*
|
||||
|
||||
* TERMS AND CONDITIONS:
|
||||
|
||||
*
|
||||
|
||||
* This program is offered free of charge, as unsupported source code. You may
|
||||
|
||||
* use it, copy it, distribute it, modify it or sell it without restriction,
|
||||
|
||||
* but entirely at your own risk.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
:- ensure_loaded( xml_generation ).
|
||||
|
||||
|
||||
|
||||
/* xml_fault( +Term, +Indentation, ?SubTerm, ?Path, ?Message ) identifies SubTerm
|
||||
|
||||
* as a sub-term of Term which cannot be serialized after Indentation.
|
||||
|
||||
* Message is an atom naming the type of error; Path is a string encoding a
|
||||
|
||||
* list of SubTerm's ancestor elements in the form <tag>{(id)}* where <tag> is the
|
||||
|
||||
* element tag and <id> is the value of any attribute _named_ id.
|
||||
|
||||
*/
|
||||
|
||||
xml_fault( Term, _Indent, Term, [], "Illegal Variable" ) :-
|
||||
|
||||
var( Term ).
|
||||
|
||||
xml_fault( xml(Attributes,_Content), _Indent, Term, [], Message ) :-
|
||||
|
||||
member( Attribute, Attributes ),
|
||||
|
||||
attribute_fault( Attribute, Term, Message ).
|
||||
|
||||
xml_fault( xml(_Attributes,Content), Indent, Culprit, Path, Message ) :-
|
||||
|
||||
xml_content_fault( Content, Indent, Culprit, Path, Message ).
|
||||
|
||||
xml_fault( Term, _Indent, Term, [], "Illegal Term" ).
|
||||
|
||||
|
||||
|
||||
xml_content_fault( Term, _Indent, Term, [], "Illegal Variable" ) :-
|
||||
|
||||
var( Term ).
|
||||
|
||||
xml_content_fault( pcdata(Chars), _Indent, Chars, [], "Invalid Character Data" ) :-
|
||||
|
||||
\+ is_chars( Chars ).
|
||||
|
||||
xml_content_fault( cdata(Chars), _Indent, Chars, [], "Invalid Character Data" ) :-
|
||||
|
||||
\+ is_chars( Chars ).
|
||||
|
||||
xml_content_fault( [H|_T], Indent, Culprit, Path, Message ) :-
|
||||
|
||||
xml_content_fault( H, Indent, Culprit, Path, Message ).
|
||||
|
||||
xml_content_fault( [_H|T], Indent, Culprit, Path, Message ) :-
|
||||
|
||||
xml_content_fault( T, Indent, Culprit, Path, Message ).
|
||||
|
||||
xml_content_fault( namespace(_URI,_Prefix,Element), Indent, Culprit, Path, Message ) :-
|
||||
|
||||
Reference in New Issue
Block a user