- From: Michael Kay <mike@saxonica.com>
- Date: Wed, 17 Oct 2012 18:39:49 +0100
- To: xmlschema-dev@w3.org, "Costello, Roger L." <costello@mitre.org>
Sorry for the delay in responding to this. It's a Saxon bug which I have logged at https://saxonica.plan.io/issues/1637 and a patch will be in the next maintenance release. I am adding the test case to the W3C XSD 1.1 test suite. Michael Kay Saxonica On 23/09/2012 12:55, Costello, Roger L. wrote: > Hello Folks, > > For this XML document: > > <Test xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <Rule name="xsd:element" /> > </Test> > > I want an xs:assert element to test that the name attribute has the QName value xsd:element > > I placed the xs:assert inside the element declaration for Rule: > > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > <xsd:element name="Test"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Rule" maxOccurs="unbounded"> > <xsd:complexType> > <xsd:attribute name="name" type="xsd:QName" use="required" /> > <xsd:assert test="@name eq xsd:QName('xsd:element')" /> > </xsd:complexType> > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > > </xsd:schema> > > I validated the XML document using SAXON 9.4 and got these two errors: > > (1) Namespace prefix {xsd} has not been declared > > (2) Element Rule does not satisfy assertion @name eq xsd:QName('xsd:element') > > I don't understand those errors. Clearly xsd has been declared and clearly Rule satisfies the XPath expression. > > Note that when I move the xs:assert up a level: > > <xsd:element name="Test"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Rule" maxOccurs="unbounded"> > <xsd:complexType> > <xsd:attribute name="name" type="xsd:QName" use="required" /> > </xsd:complexType> > </xsd:element> > </xsd:sequence> > <xsd:assert test="Rule/@name eq xsd:QName('xsd:element')" /> > </xsd:complexType> > </xsd:element> > > then I get no error. > > Why is this? > > Is it not okay to have an xs:assert at the attribute level? If so, would you please refer me to the section in the specification that says this. > > /Roger > >
Received on Wednesday, 17 October 2012 17:40:16 UTC