[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Selective restriction for attributes based on elementvalues.
- From: Nagesh Subrahmanyam <nageshblore@gmail.com>
- To: Dennis Sterzenbach <lists@radds.de>
- Date: Sun, 30 Sep 2007 18:30:41 +1000
Hi Dennis,
No, I am able to define restrictions in other cases. However, my
requirement is to apply restrictions on the attribute based on the value
of the element. Consider the example I have pasted here. When the value
of the <startTag> is op1 the attribute value must be alphabetic. When
the value of the <startTag> is op2 it must be numeric.
How do I this ?
I am thinking of a "less-heroic" option now. That is, designing my xsd
such that, the tags are created by what is currently the values of
<startTag> (the list of values is known and finite) and then use
attributes (currently) as the values of the tags. Like so,
<op1>x</op1> and <op2>0</op2>
Regards,
Nags.
Dennis Sterzenbach wrote:
> Hello Nagesh,
>
> Nagesh Subrahmanyam wrote:
>
>> I have an element <startTag> with attribute as type. The value of the
>> attribute type can be numeric or alphabetic (with or without limits
>> and/or patterns) depending on what was the value of the element. The
>> value of the element would be string always. How do I apply such a
>> restriction for the attribute ?
>>
>> Examples :
>> <startTag type="x">op1</startTag>
>> <startTag type="0">op2</startTag>
>>
>> Regards,
>> Nags.
>>
>
> I suggest you want to know, how to define the restriction for some XSD
> Schema? As far as I know for that case you have to define your own type,
> which might look like this (untested):
>
> <xs:simpleType name="myRestrictedType">
> <xs:restriction base="xs:string">
> <xs:pattern value="([a-zA-Z]|[0-9])"/>
> </xs:restriction>
> </xs:simpleType>
>
> and reference from your attribute declaration:
>
> <xs:attribute name="type" type="myRestrictedType" use="required" />
>
> Hope that helps!
> -- Dennis Sterzenbach
>
>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]