Please verify your validation results using the libxml2 included binaries, in this case 'xmllint'. There has been no recent work on the validation pass through, which is the same as saying I do not know if the ruby library has any culpability. Thus, try the xmlsoft tools. http://xmlsoft.org/xmllint.html
Dan On Jan 7, 2008, at 01:14, GlennNZ wrote: > I'm following through the w3schools tutorial on xsd and xml validation > and I'm trying to get one of the examples to validate. The problem > seems to be in validating the attributes because if I strip them out, > then it validates fine. I'm blindly following the tutorial but I can't > see anything wrong with the xsd file, so dare I question if there is a > bug? > > Stripping out the w3schools example somewhat, if I was to take the > following schema: > > <?xml version="1.0" encoding="ISO-8859-1" ?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > <!-- definition of attributes --> > <xs:attribute name="orderid" type="xs:string"/> > > <xs:element name="shiporder"> > <xs:complexType> > <xs:attribute ref="orderid" use="required"/> > </xs:complexType> > </xs:element> > > </xs:schema> > > > An xml file: > > <?xml version="1.0" encoding="ISO-8859-1"?> > > <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/ > XMLSchema-instance" xsi:noNamespaceSchemaLocation="validator.xsd"> > > </shiporder> > > and a test script: > > require 'xml/libxml' > include XML > > xsd_string = "" > > File.open('validator.xsd', 'r') do |f1| > while line = f1.gets > xsd_string += line > end > end > > doc = Document.file('test.xml') > > schema = XML::Schema.from_string( xsd_string ) > > print doc.validate(schema) > > > Then I get the following errors > >> ruby test.rb > false > error -- found validity error: No declaration for attribute orderid of > element shiporder > error -- found validity error: No declaration for attribute > noNamespaceSchemaLocation of element shiporder > error -- found validity error: No declaration for attribute xmlns:xsi > of element shiporder > > I would have thought that the attribute declaration of orderid would > avoid the first error, and that the other two attributes wouldn't need > to be declared. > > If the examples are really unclear, the complete xml and xsd is > available at http://www.w3schools.com/schema/schema_example.asp > > Cheers > __________ _______________________________________________ libxml-devel mailing list libxml-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/libxml-devel