I have my xml file as
<?xml version="1.0" encoding="ISO-8859-1"?> <Info> <Pan>123</Pan> <Name>qwe</Name> <Email>qwe</Email> <City>qwe</City> <State>qwe</State> <AssessmentYear>2012</AssessmentYear> <MobileNo>1234</MobileNo> <Income-Salary>1234</Income-Salary> <Income-Other>1234</Income-Other> <TotalAmount>122</TotalAmount> <Signature> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text"/> <xsl:template match="/"> Pan : <xsl:copy-of select="//Pan"/> MobileNo : <xsl:copy-of select="//MobileNo"/> TotalAmount : <xsl:copy-of select="//TotalAmount"/> </xsl:template> </xsl:stylesheet></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><DigestValue>FgbIIimTLIbd0Zpvq1zDrZse6aJg5bAE1/Q58cEkEvk=</DigestValue></Reference> </SignedInfo> <SignatureValue>dy4QDco5NhXResncu0tUG5ylujDn9siIQSHjuX5HxH2gs70LpsO3KDWNvDXjpgkIySYfzJ/FdC6C trkSySWRjhObqI8cbcP5VU/nL8pP21+3CO+gF1k884aeX3felpRy0FBBMTYBknQTunWCHvpHk927 ZHGvm6Hiej7iBKr3e1k=</SignatureValue> </Signature> </Info>
My Schema files for this xml file is as follows(c1.xsd)
<?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="C:\\xml\\c2.xsd"/> <xs:element name="Info"> <xs:complexType> <xs:sequence> <xs:element name="Pan" type="xs:string"/> <xs:element name="Name" type="xs:string"/> <xs:element name="Email" type="xs:string"/> <xs:element name="City" type="xs:string"/> <xs:element name="State" type="xs:string"/> <xs:element name="AssessmentYear" type="xs:gYear"/> <xs:element name="MobileNo" type="xs:unsignedLong"/> <xs:element name="Income-Salary" type="xs:unsignedLong"/> <xs:element name="Income-Other" type="xs:unsignedLong"/> <xs:element name="TotalAmount" type="xs:unsignedLong"/> <xs:element ref="ds:Signature"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
c2.xsd(Edited)
<?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2000/09/xmldsig#"> <xs:element name="Signature"> <xs:complexType> <xs:sequence> <xs:element name="SignedInfo"> <xs:complexType> <xs:sequence> <xs:element name="CanonicalizationMethod"> <xs:complexType> <xs:attribute name="Algorithm" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="SignatureMethod"> <xs:complexType> <xs:attribute name="Algorithm" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="Reference"> <xs:complexType> <xs:attribute name="URI" type="xs:string"/> <xs:all> <xs:element name="Transforms"> <xs:complexType> <xs:sequence> <xs:element name="Transform" type="xs:string"> <xs:complexType> <xs:attribute name="Algorithm" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="DigestMethod"> <xs:complexType> <xs:attribute name="Algorithm" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="DigestValue" type="xs:hexBinary"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SignatureValue" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
When I validate my xml file i get the following Exception
org.xml.sax.SAXParseException; systemId: file:/C://xml//c2.xsd; lineNumber: 22; columnNumber: 37; s4s-elt-invalid-content.1: The content of '#AnonType_Reference SignedInfoSignature' is invalid. Element 'element' is invalid, misplaced, or oc curs too often.
I cannot figure out where am I going wrong? Can anyone tell where exactly is the mistake in my code?
Error after Edit 1
org.xml.sax.SAXParseException; systemId: file:/C://xml//c2.xsd; lineNumber: 22; columnNumber: 15; s4s-elt-invalid-content.1: The content of '#AnonType_Reference SignedInfoSignature' is invalid. Element 'all' is invalid, misplaced, or occurs too often.