diff --git a/ChangeLog b/ChangeLog
index c5f0c19..fc76f9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Nov 11 13:48:52 CET 2005 Kasimier Buchcik <libxml2-cvs@cazic.net>
+
+	* xmlschemas.c: Changed xmlSchemaFormatIDCKeySequence()
+	  to use xmlSchemaGetCanonValueWhtspExt() in order to
+	  correctly report values for xs:anySimpleType.
+	* test/schemas/idc-keyref-err1*
+	  result/schemas/idc-keyref-err1*: Added a test for this change.
+
 Wed Nov  9 13:07:24 EST 2005 Rob Richards <rrichards@ctindustries.net>
 
 	* xmlIO.c xmlwriter.c: function consolidation when writing to xmlBuffer.
diff --git a/result/schemas/idc-keyref-err1_1_0 b/result/schemas/idc-keyref-err1_1_0
new file mode 100644
index 0000000..d4333a9
--- /dev/null
+++ b/result/schemas/idc-keyref-err1_1_0
@@ -0,0 +1 @@
+./test/schemas/idc-keyref-err1_0.xml fails to validate
diff --git a/result/schemas/idc-keyref-err1_1_0.err b/result/schemas/idc-keyref-err1_1_0.err
new file mode 100644
index 0000000..8e9cb20
--- /dev/null
+++ b/result/schemas/idc-keyref-err1_1_0.err
@@ -0,0 +1 @@
+./test/schemas/idc-keyref-err1_0.xml:12: Schemas validity error : Element '{urn:test:foo}Ref': No match found for key-sequence ['L4'] of keyref '{urn:test:foo}LinkKeyRef'.
diff --git a/test/schemas/idc-keyref-err1_0.xml b/test/schemas/idc-keyref-err1_0.xml
new file mode 100644
index 0000000..64a1d0b
--- /dev/null
+++ b/test/schemas/idc-keyref-err1_0.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<Foo
+	xmlns="urn:test:foo"
+	xmlns:foo="urn:test:foo"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="urn:test:foo idc-keyref_1.xsd">
+
+    <Def>
+        <Link foo:linkKey="L4"/>
+    </Def>
+
+    <Ref foo:linkRef="L4"/>
+
+</Foo> 
\ No newline at end of file
diff --git a/test/schemas/idc-keyref-err1_1.xsd b/test/schemas/idc-keyref-err1_1.xsd
new file mode 100644
index 0000000..43c769f
--- /dev/null
+++ b/test/schemas/idc-keyref-err1_1.xsd
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<xs:schema
+    targetNamespace="urn:test:foo"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns:foo="urn:test:foo"
+    elementFormDefault="qualified"
+    attributeFormDefault="qualified">
+  
+   <xs:element name="Link">
+       <xs:complexType>
+           <xs:simpleContent>
+               <xs:extension base="xs:string">
+                   <xs:attribute name="linkKey" type="xs:string" use="required"/>
+               </xs:extension>
+           </xs:simpleContent>
+       </xs:complexType>
+   </xs:element>
+      
+    
+  <!--  -->
+  <xs:element name="Foo">
+    <xs:complexType>
+      <xs:sequence>
+	          
+        <xs:element name="Def">
+            <xs:complexType>
+                <xs:sequence>
+                    <xs:element ref="foo:Link"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:element>
+        
+        <xs:element name="Ref">
+            <xs:complexType>
+                <xs:attribute name="linkRef" use="required"/>
+            </xs:complexType>
+        </xs:element>
+
+      </xs:sequence>
+	</xs:complexType>      
+
+	<xs:key name="LinkKey">
+	  <xs:selector xpath=".//foo:Link | .//foo:Link"/>
+	  <xs:field xpath="@foo:linkKey"/>
+	</xs:key>
+
+	<xs:keyref name="LinkKeyRef" refer="foo:LinkKey">
+	  <xs:selector xpath=".//foo:Ref"/>
+	  <xs:field xpath="@foo:linkRef"/>
+	</xs:keyref>    
+  </xs:element>
+
+</xs:schema>
\ No newline at end of file
diff --git a/xmlschemas.c b/xmlschemas.c
index d30ad07..f72dc04 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -22156,15 +22156,16 @@
 			      int count)
 {
     int i, res;
-    const xmlChar *value = NULL;
+    xmlChar *value = NULL;
 
     *buf = xmlStrdup(BAD_CAST "[");
     for (i = 0; i < count; i++) {
 	*buf = xmlStrcat(*buf, BAD_CAST "'");
-	res = xmlSchemaGetCanonValueWhtsp(seq[i]->val, &value,
-	    xmlSchemaGetWhiteSpaceFacetValue(seq[i]->type));
+	res = xmlSchemaGetCanonValueWhtspExt(seq[i]->val, 
+	    xmlSchemaGetWhiteSpaceFacetValue(seq[i]->type),
+	    &value);
 	if (res == 0)
-	    *buf = xmlStrcat(*buf, value);
+	    *buf = xmlStrcat(*buf, BAD_CAST value);
 	else {
 	    VERROR_INT("xmlSchemaFormatIDCKeySequence",
 		"failed to compute a canonical value");
@@ -22175,7 +22176,7 @@
 	else
 	    *buf = xmlStrcat(*buf, BAD_CAST "'");
 	if (value != NULL) {
-	    xmlFree((xmlChar *) value);
+	    xmlFree(value);
 	    value = NULL;
 	}
     }
