On 2/22/11 9:33 PM, Sergey Fedoseev wrote: > 2011/2/23 Matthijs van der Vleuten <[email protected]>: >>> $ 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. >> >> XML itself defines the xml:lang attribute. Are you sure your validator is >> correct? >> > > Yes, it defines it, so we need to import it. > > --- geoloc.xsd > +++ geoloc.xsd > @@ -1,5 +1,6 @@ > <?xml version="1.0" encoding="UTF-8"?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > targetNamespace="http://jabber.org/protocol/geoloc" > xmlns="http://jabber.org/protocol/geoloc" > elementFormDefault="qualified"> > +<xs:import namespace="http://www.w3.org/XML/1998/namespace" > schemaLocation="http://www.w3.org/2001/xml.xsd"/> > > <xs:annotation> > <xs:documentation> > @@ -34,6 +35,7 @@ > <xs:element name="timestamp" minOccurs="0" type="xs:dateTime"/> > <xs:element name="uri" minOccurs="0" type="xs:anyURI"/> > </xs:sequence> > + <xs:attribute ref="xml:lang"/> > </xs:complexType> > </xs:element>
Correct.
>>> 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
>>
>> The XEP-0080 schema does define an accuracy element, although only since
>> version 1.6. I suspect you're using the schema of version 1.5, since the
>> speed element was added in that version.
>
> The problem is that 'accuracy' element must be first with this schema,
> because of using sequence.
You are right. Will fix.
Peter
--
Peter Saint-Andre
https://stpeter.im/
smime.p7s
Description: S/MIME Cryptographic Signature
