- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 12 Apr 2001 19:00:46 +0100
- To: Risheng Lin <rlin@eng.utoledo.edu>
- Cc: xmlschema-dev@w3.org
Risheng Lin <rlin@eng.utoledo.edu> writes:
> Dear member,
>
> I have 2 more questions:
>
> 1. Is there any way to represent an array?
>
> e.g. for String title[numberOfTitle], where number of title is not
> known as a priori when schema author developed it. The numberofTitle
> is of type xsd:integer designed in schema, and the value will be
> given in an xml document instance by user, but when the user
> supplies this data, schema must validate that the maxOccurs can only
> be numberOfTitle data items.
No runtime constraints like this are supported in XML Schema 1.0, sorry.
> How to design such an schema? And what is the best practice? In such a
> situation, do I have to resort to XPATH?
That would work, yes.
> 2. Is there any way to design a schema such that given the following schema:
>
> <xsd:element name="DataValue">
> <!-- data can be either float or double</!-->
> <xsd:complexType>
> <xsd:choice>
> <xsd:element name="Data" type="xsd:float" minOccurs="1"
> maxOccurs="unbounded"/>
>
> <xsd:element name="Data" type="xsd:double" minOccurs="1"
> maxOccurs="unbounded"/>
>
> </xsd:choice>
> <xsd:attribute ref="dataType" use="required" />
> </xsd:complexType>
> </xsd:element>
>
> When user supplies the attribute dataType to be "float", the schema will only
> allow the instance document to supply Data Element to be of type xsd:float; on
> the other hand, if attribute dataType is "double", the XML document can only
> supply Data Element of type xsd:double? Do I have to use XSLT?
No, but you can do something similar using xsi:type, see the Primer [1].
ht
[1] http://www.w3.org/TR/xmlschema-0/
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2001, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
Received on Thursday, 12 April 2001 14:00:48 UTC