$ cat -n example1.xml
1 <geoloc xmlns='http://jabber.org/protocol/geoloc' xml:lang='en'>
2 <country>Italy</country>
3 <lat>45.44</lat>
4 <locality>Venice</locality>
5 <lon>12.33</lon>
6 <accuracy>20</accuracy>
7 </geoloc>
$ xmlstarlet val -s geoloc.xsd -e example1.xml
example1.xml:1: Element '{http://jabber.org/protocol/geoloc}geoloc',
attribute '{http://www.w3.org/XML/1998/namespace}lang': The attribute
'{http://www.w3.org/XML/1998/namespace}lang' is not allowed.
example1.xml:6: Element '{http://jabber.org/protocol/geoloc}accuracy':
This element is not expected. Expected is one of
( {http://jabber.org/protocol/geoloc}postalcode,
{http://jabber.org/protocol/geoloc}region,
{http://jabber.org/protocol/geoloc}room,
{http://jabber.org/protocol/geoloc}speed,
{http://jabber.org/protocol/geoloc}street,
{http://jabber.org/protocol/geoloc}text,
{http://jabber.org/protocol/geoloc}timestamp,
{http://jabber.org/protocol/geoloc}uri ).
example1.xml - invalid
Also example value for 'timestamp' value in
http://xmpp.org/extensions/xep-0080.html#format is invalid, because
seconds component is required, but not specified.