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