W3C home > Mailing lists > Public > xmlschema-dev@w3.org > February 2011

Re: Need help on xml-schema

From: Michael Kay <mike@saxonica.com>
Date: Fri, 18 Feb 2011 15:03:22 +0000
Message-ID: <4D5E8A3A.5070300@saxonica.com>
To: Taranisen Mohanta <tmohanta@gmail.com>
On 18/02/2011 07:37, Taranisen Mohanta wrote:
> Hi,
>  I need a help on the following xml to have a schema.
>
If you're prepared to change the "type" attribute to "xsi:type" this 
becomes straightforward; you can define different subtypes of some 
common type, and choose which one the instance should be validated 
against using the xsi:type attribute. (But then, if you can do that, 
you're probably better changing the element name so <operation 
type="list_products"> becomes <operation_list_products>).

If you're prepared to use XSD 1.1, you can do the same using any 
attribute, using the new feature of Conditional Type Assignment.

Otherwise, it can't be done in XSD 1.0 alone.

Michael Kay
Saxonica


> <?xml version="1.0" encoding="UTF-8"?>
> <overall_operation>
> <operation type="list_products">
> <ops_description>Listing all the products of a company</ops_description>
> <module>powesystem</module>
> <comp_name>APC</comp_name>
> <prod_price>50K$</prod_pric>
> <manf_date>2001</manf_date>
> <pool_name>Electrical</pool_name>
> <fail_retry>2</fail_retry>
> <storage_type>avialble</storage_type>
> <storage_check>false</storage_check>
> <api_type>sync</api_type>
> <product_name>transformer</product_name>
> </operation>
> <operation type="search_product">
> <ops_description>Search the products of a company from the 
> repository</ops_description>
> <module>high-voltage</module>
> <module>powesystem</module>
> <comp_name>APC</comp_name>
> <pool_name>Electrical</pool_name>
> <fail_retry>2</fail_retry>
> <storage_type>avialble</storage_type>
> <storage_check>false</storage_check>
> <api_type>sync</api_type>
> <product_name>setup-transformer</product_name>
> </operation>
> <oeration>
>    .
> .
> .
> .
> </operation>
> </overall_operation>
> Here different elements with operation like 
> list_products,search_products and so on.
> Each elements will have some comman attributes such as 
> ops_description,module and so on.
> Also some of the uniquie attributes for each elements such as 
> prod_price,manf_date etc.
> I want to have a xml schema to validate. Some of the attributes also 
> optional.
> I tried using abstract and derived but could not make it work.
> Thanks in advance.
Received on Friday, 18 February 2011 15:21:58 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 18 February 2011 15:21:58 GMT