OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Mandating element content

[ Lists Home | Date Index | Thread Index ]

Hi,

     Thanks for the immediate reply. That's what even I did. But that seems
to introduce
some problem wrt xsd:key. I am using MSXML4.0 parser for XmlValidatingReader
in C#.

     The problem:

     I have the following element structure:
     <ELEM xsi:type="type1">
	  <KEYELEMENT>some content</KEYELEMENT>
     <ELEM>
   
     <ELEM xsi:type="type2">
	  <KEYELEMENT>some content</KEYELEMENT>
     <ELEM>

     Validation for this goes thru successfully even if KEYELEMENT has
duplicate values.

     A duplicate key error is thrown only if xsi:type for both the <ELEM>
elements are same.
     i.e an error is throw for the following XML. What could be the reason?

     <ELEM xsi:type="type1">
	  <KEYELEMENT>some content</KEYELEMENT>
     <ELEM>
   
     <ELEM xsi:type="type1">
	  <KEYELEMENT>some content</KEYELEMENT>
     <ELEM>

     Here both type1 and type2 are derived from a complextype "type".
     <element name="KEYELEMENT">
        <simpletype>
		<restriction base="string">
              <minlength value="1" />
	      </restriction>
	  </simpletype>
     </element>
 
     I have a key defined on KEYELEMENT.

Avinash Subramanya
Developer
Aztec Software And Technology Services Limited
23, 3rd 'A' Cross, 18th Main, 6th Block, Koramangala
Bangalore - 560095, India
Phone: 5522892/93 Ext: 205
Fax: 91-80-5521987
Mobile: 98441 29329


-----Original Message-----
From: Bryce K. Nielsen [mailto:bryce@sysonyx.com]
Sent: Saturday, March 29, 2003 1:57 PM
To: xml-dev@lists.xml.org
Subject: Re: [xml-dev] Mandating element content


>     How to make the content of an element mandatory in XML Schema???
>     For example:
>     If I have an element "ELEM" of type xsd:string, then the valid values
> for this element could be:
>     1. <ELEM>some string</ELEM>
>     2. <ELEM /> - I don't want this to happen in the instance document. I
> want to mandate that there be some
>         content for this element. How do I do this???
> 

You could set the minLength facet to 1.

  <xsd:element name="ELEM">
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:minLength value="1"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>

--
Bryce K. Nielsen
SysOnyx Inc. (www.sysonyx.com)
Makers of xmlLinguist, the Text-to-XML Translator
(http://www.topxml.com/xmllinguist)


-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS