You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@xmlbeans.apache.org by Radu Preotiuc-Pietro <ra...@oracle.com> on 2008/09/14 01:07:08 UTC

RE: xs:any, skip and apply validation

Hello Razi,
 
You can put two <xs:any> wildcards in your type definition, but you have to make sure that the content model is deterministic if you want to perform validation (known as the UPA rule in Schema). In your case, you need to change the first any to:
 
    <xs:any namespace="##any" processContents="skip"/>
 
in order for it to match exactly one element and keep the model deterministic.
 
Radu


________________________________

	From: Ansari, Razi Ahmed [mailto:Razi-Ahmed.Ansari@standardchartered.com] 
	Sent: Sunday, August 24, 2008 11:59 PM
	To: user@xmlbeans.apache.org
	Subject: xs:any, skip and apply validation
	
	

	 

	 

	 

	 

	 

	 

	Hello there,

	 

	I wanted to enquire from the folks here as to how to do the following:

	 

	I have a complexType which includes certain elements, out of these elements I want to validate only a few elements which appear in the complexType and not validate others. The elements that I want to validate occur in the complextype at the 1 and 2 position and then at the 4 position followed by other elements that I am not interested in .

	 

	Example:

	 

	<xs:complexType name="InfoType">

	                        <xs:sequence>

	                                    <xs:element name="ultParentId" type="xs:integer">

	                                                <xs:annotation>

	                                                            <xs:documentation>The ultimate ID for the customer </xs:documentation>

	                                                </xs:annotation>

	                                    </xs:element>

	                                    <xs:element name="parentId" type="xs:integer">

	                                                <xs:annotation>

	                                                            <xs:documentation>The Parent  ID for the customer</xs:documentation>

	                                                </xs:annotation>

	                                    </xs:element>

	<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>

	 <xs:element name="updstatus" type="FlagIndTypes" nillable="true"/>

	<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>

	            </xs:sequence>

	</xs:complexType>

	 

	But this is not working as the validation fails with the message cvc-complex-type-2.4c Expected elements '' before end of the content in element 

	 

	Can I put in two <xs:any> elements in my definition. 

	 

	Appreciate any enlightenment on this matter.

	 

	Thanks

	Razi

	 

	 

	This email and any attachments are confidential and may also be privileged.  If you are not the addressee, do not disclose, copy, circulate or in any other way use or rely on the information contained in this email or any attachments.  If received in error, notify the sender immediately and delete this email and any attachments from your system.  Emails cannot be guaranteed to be secure or error free as the message and any attachments could be intercepted, corrupted, lost, delayed, incomplete or amended.  Standard Chartered PLC and its subsidiaries do not accept liability for damage caused by this email or any attachments and may monitor email traffic.
	
	 
	
	Standard Chartered PLC is incorporated in England with limited liability under company number 966425 and has its registered office at 1 Aldermanbury Square, London, EC2V 7SB.
	
	 
	
	Standard Chartered Bank ("SCB") is incorporated in England with limited liability by Royal Charter 1853, under reference ZC18.  The Principal Office of SCB is situated in England at 1 Aldermanbury Square, London EC2V 7SB. In the United Kingdom, SCB is authorised and regulated by the Financial Services Authority under FSA register number 114276.
	
	 
	
	If you are receiving this email from SCB outside the UK, please click http://www.standardchartered.com/global/email_disclaimer.html to refer to the information on other jurisdictions.
	
	


RE: xs:any, skip and apply validation

Posted by "Ansari, Razi Ahmed" <Ra...@standardchartered.com>.
Hello Radu,

 

Thanks for you reply.

 

I looked at the way I have defined my xsd and for the first any I have
put in processcontents=skip like you suggested, how about for the second
any.

 

Razi

 

________________________________

From: Radu Preotiuc-Pietro [mailto:radu.preotiuc-pietro@oracle.com] 
Sent: Sunday, September 14, 2008 7:07 AM
To: user@xmlbeans.apache.org
Subject: RE: xs:any, skip and apply validation

 

Hello Razi,

 

You can put two <xs:any> wildcards in your type definition, but you have
to make sure that the content model is deterministic if you want to
perform validation (known as the UPA rule in Schema). In your case, you
need to change the first any to:

 

    <xs:any namespace="##any" processContents="skip"/>

 

in order for it to match exactly one element and keep the model
deterministic.

 

Radu

	 

	
________________________________


	From: Ansari, Razi Ahmed
[mailto:Razi-Ahmed.Ansari@standardchartered.com] 
	Sent: Sunday, August 24, 2008 11:59 PM
	To: user@xmlbeans.apache.org
	Subject: xs:any, skip and apply validation

	 

	 

	 

	 

	 

	 

	Hello there,

	 

	I wanted to enquire from the folks here as to how to do the
following:

	 

	I have a complexType which includes certain elements, out of
these elements I want to validate only a few elements which appear in
the complexType and not validate others. The elements that I want to
validate occur in the complextype at the 1 and 2 position and then at
the 4 position followed by other elements that I am not interested in .

	 

	Example:

	 

	<xs:complexType name="InfoType">

	                        <xs:sequence>

	                                    <xs:element
name="ultParentId" type="xs:integer">

	                                                <xs:annotation>

	
<xs:documentation>The ultimate ID for the customer </xs:documentation>

	                                                </xs:annotation>

	                                    </xs:element>

	                                    <xs:element name="parentId"
type="xs:integer">

	                                                <xs:annotation>

	
<xs:documentation>The Parent  ID for the customer</xs:documentation>

	                                                </xs:annotation>

	                                    </xs:element>

	<xs:any namespace="##any" processContents="skip" minOccurs="0"
maxOccurs="unbounded"/>

	 <xs:element name="updstatus" type="FlagIndTypes"
nillable="true"/>

	<xs:any namespace="##any" processContents="skip" minOccurs="0"
maxOccurs="unbounded"/>

	            </xs:sequence>

	</xs:complexType>

	 

	But this is not working as the validation fails with the message
cvc-complex-type-2.4c Expected elements '' before end of the content in
element 

	 

	Can I put in two <xs:any> elements in my definition. 

	 

	Appreciate any enlightenment on this matter.

	 

	Thanks

	Razi

	 

	 

	This email and any attachments are confidential and may also be
privileged.  If you are not the addressee, do not disclose, copy,
circulate or in any other way use or rely on the information contained
in this email or any attachments.  If received in error, notify the
sender immediately and delete this email and any attachments from your
system.  Emails cannot be guaranteed to be secure or error free as the
message and any attachments could be intercepted, corrupted, lost,
delayed, incomplete or amended.  Standard Chartered PLC and its
subsidiaries do not accept liability for damage caused by this email or
any attachments and may monitor email traffic.
	 
	 
	 
	Standard Chartered PLC is incorporated in England with limited
liability under company number 966425 and has its registered office at 1
Aldermanbury Square, London, EC2V 7SB.
	 
	 
	 
	Standard Chartered Bank ("SCB") is incorporated in England with
limited liability by Royal Charter 1853, under reference ZC18.  The
Principal Office of SCB is situated in England at 1 Aldermanbury Square,
London EC2V 7SB. In the United Kingdom, SCB is authorised and regulated
by the Financial Services Authority under FSA register number 114276.
	 
	 
	 
	If you are receiving this email from SCB outside the UK, please
click http://www.standardchartered.com/global/email_disclaimer.html to
refer to the information on other jurisdictions.
	 
	 


This email and any attachments are confidential and may also be privileged.  If you are not the addressee, do not disclose, copy, circulate or in any other way use or rely on the information contained in this email or any attachments.  If received in error, notify the sender immediately and delete this email and any attachments from your system.  Emails cannot be guaranteed to be secure or error free as the message and any attachments could be intercepted, corrupted, lost, delayed, incomplete or amended.  Standard Chartered PLC and its subsidiaries do not accept liability for damage caused by this email or any attachments and may monitor email traffic.

 

Standard Chartered PLC is incorporated in England with limited liability under company number 966425 and has its registered office at 1 Aldermanbury Square, London, EC2V 7SB.

 

Standard Chartered Bank ("SCB") is incorporated in England with limited liability by Royal Charter 1853, under reference ZC18.  The Principal Office of SCB is situated in England at 1 Aldermanbury Square, London EC2V 7SB. In the United Kingdom, SCB is authorised and regulated by the Financial Services Authority under FSA register number 114276.

 

If you are receiving this email from SCB outside the UK, please click http://www.standardchartered.com/global/email_disclaimer.html to refer to the information on other jurisdictions.