You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xmlbeans.apache.org by xm...@xml.apache.org on 2004/09/29 23:10:33 UTC
[jira] Commented: (XMLBEANS-38) Does not support xs:key (keyRef NoIllegalEntries)
The following comment has been added to this issue:
Author: Jacob Danner
Created: Wed, 29 Sep 2004 2:10 PM
Body:
For regression test, add the following to drtcases.ValidationTests:
/** Jira xmlbeans-38: Does not support xs:key (keyRef NoIllegalEntries) */
public void testValidate12() throws Exception {
String schemas[] = {
"<?xml version=\"1.0\"?> \n" +
"<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n" +
"<xsd:element name=\"supermarket\">\n" +
"<xsd:complexType>\n" +
"<xsd:sequence>\n" +
"<xsd:element name=\"aisle\" maxOccurs=\"unbounded\">\n" +
"<xsd:complexType>\n" +
"<xsd:sequence>\n" +
"<xsd:element name=\"item\" maxOccurs=\"unbounded\">\n" +
"<xsd:complexType>\n" +
"<xsd:simpleContent>\n" +
"<xsd:extension base=\"xsd:string\">\n" +
"<xsd:attribute name=\"code\" type=\"xsd:positiveInteger\"/>\n" +
"<xsd:attribute name=\"quantity\" type=\"xsd:positiveInteger\"/>\n" +
"<xsd:attribute name=\"price\" type=\"xsd:decimal\"/>\n" +
"</xsd:extension>\n" +
"</xsd:simpleContent>\n" +
"</xsd:complexType>\n" +
"</xsd:element>\n" +
"</xsd:sequence>\n" +
"<!-- Attribute Of Aisle -->\n" +
"<xsd:attribute name=\"name\" type=\"xsd:string\"/>\n" +
"<xsd:attribute name=\"number\" type=\"xsd:positiveInteger\"/>\n" +
"<!-- Of Aisle -->\n" +
"</xsd:complexType>\n" +
"<xsd:keyref name=\"NoIllegalEntries\" refer=\"itemKey\">\n" +
"<xsd:selector xpath=\"item\"/>\n" +
"<xsd:field xpath=\"@code\"/>\n" +
"</xsd:keyref>\n" +
"</xsd:element>\n" +
"<xsd:element name=\"items\">\n" +
"<xsd:complexType>\n" +
"<xsd:sequence>\n" +
"<xsd:element name=\"item\" maxOccurs=\"unbounded\">\n" +
"<xsd:complexType>\n" +
"<xsd:simpleContent>\n" +
"<xsd:extension base=\"xsd:string\">\n" +
"<xsd:attribute name=\"code\" type=\"xsd:positiveInteger\"/>\n" +
"</xsd:extension>\n" +
"</xsd:simpleContent>\n" +
"</xsd:complexType>\n" +
"</xsd:element>\n" +
"</xsd:sequence>\n" +
"</xsd:complexType>\n" +
"</xsd:element>\n" +
"</xsd:sequence>\n" +
"<xsd:attribute name=\"name\" type=\"xsd:string\"/>\n" +
"</xsd:complexType>\n" +
"<xsd:key name=\"itemKey\">\n" +
"<xsd:selector xpath=\"items/item\"/>\n" +
"<xsd:field xpath=\"@code\"/>\n" +
"</xsd:key>\n" +
"</xsd:element>\n" +
"</xsd:schema>",
};
String[] valid = {
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<!--Sample XML file generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->\n" +
"<supermarket xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
"xsi:noNamespaceSchemaLocation=\"jira38.xsd\" name=\"String\">\n" +
"<aisle name=\"String\" number=\"2\">\n" +
"<item code=\"1234\" quantity=\"2\" price=\"3.1415926535897932384626433832795\">String</item>\n" +
"</aisle> \n" +
"<items>\n" +
"<item code=\"1234\">Java</item>\n" +
"</items>\n" +
"</supermarket>",
};
String[] invalid = {
"<enumDef>enum2/enumDef>",
};
doTest(schemas, null, valid, invalid);
}
---------------------------------------------------------------------
View this comment:
http://issues.apache.org/jira/browse/XMLBEANS-38?page=comments#action_53518
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/XMLBEANS-38
Here is an overview of the issue:
---------------------------------------------------------------------
Key: XMLBEANS-38
Summary: Does not support xs:key (keyRef NoIllegalEntries)
Type: Bug
Status: Open
Priority: Major
Project: XMLBeans
Versions:
Version 1
Assignee: Dave Remy
Reporter: Drew Kurry
Created: Fri, 18 Jun 2004 10:23 AM
Updated: Wed, 29 Sep 2004 2:10 PM
Environment: Linux J2SEE 1.4.1_05
Description:
XMLBeans does not support the <xs:key name=""> feature used in XSD Schema. I have tried multiple schemas using this feature and when I go to validate an XML document, I get the same error:
Key '<the-name-of-your-key' not found (keyRef NoIllegalEntries)
I am sure this is valid syntax as XML Spy and other editors are ok with the key ref tag as this is supported within XSD.
I have included a sample XSD and XML document that includes these values.
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="supermarket">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aisle" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="code" type="xsd:positiveInteger"/>
<xsd:attribute name="quantity" type="xsd:positiveInteger"/>
<xsd:attribute name="price" type="xsd:decimal"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<!-- Attribute Of Aisle -->
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="number" type="xsd:positiveInteger"/>
<!-- Of Aisle -->
</xsd:complexType>
<xsd:keyref name="NoIllegalEntries" refer="itemKey">
<xsd:selector xpath="item"/>
<xsd:field xpath="@code"/>
</xsd:keyref>
</xsd:element>
<xsd:element name="items">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="code" type="xsd:positiveInteger"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
<xsd:key name="itemKey">
<xsd:selector xpath="items/item"/>
<xsd:field xpath="@code"/>
</xsd:key>
</xsd:element>
</xsd:schema>
***********************
and sample XML
***********************
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
<supermarket xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\tmp\Supermarket.xsd" name="String">
<aisle name="String" number="2">
<item code="1234" quantity="2" price="3.1415926535897932384626433832795">String</item>
</aisle>
<items>
<item code="1234">Java</item>
</items>
</supermarket>
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: dev-help@xmlbeans.apache.org