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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Mixed contents and group in schema definition

[ Lists Home | Date Index | Thread Index ]
  • From: Pierre Attar <patt@tireme.fr>
  • To: xml-dev@xml.org
  • Date: Fri, 07 Jul 2000 16:05:36 +0200

Hi,

I'm trying to understand Schema and I would like to use groups for defining 
shared mixed contents.

Using XML DTD, my declatations looks like :

<!ENTITY % TEXT 'B|I|CMD|CAP'>
<!ELEMENT FIRST (#PCDATA | %TEXT;)*>
<!ELEMENT LAST (#PCDATA | %TEXT;)*>

Note: PCDATA is twice reused just because I was not able to put something 
like :
<!ENTITY % TEXT '(#PCDATA | B|I|CMD|CAP)*'>
<!ELEMENT FIRST (%TEXT;)>


Nevertheless, converting to Schema, XML authority provides :

         <element name = "FIRST">
                 <complexType content = "mixed">
                         <element ref = "B"/>
                         <element ref = "I"/>
                         <element ref = "CMD"/>
                         <element ref = "CAP"/>
                 </complexType>
         </element>
         <element name = "LAST">
                 <complexType content = "mixed">
                         <element ref = "B"/>
                         <element ref = "I"/>
                         <element ref = "CMD"/>
                         <element ref = "CAP"/>
                 </complexType>
         </element>

For maintenance purpose, I prefer to use the group mechanism, in order to 
have :

         <xsd:group name="textContent">
                 <xsd:choice minOccurs="0" maxOccurs="unbounded">
                         <xsd:element name="B" type="textType"/>
                         <xsd:element name="I" type="textType"/>
                         <xsd:element name="CMD" type="textType"/>
                         <xsd:element name="CAP" type="textType"/>
                 </xsd:choice>
         </xsd:group>

and

         <xsd:complexType name="textType" content="mixed">
                 <xsd:group ref="textContent"/>
         </xsd:complexType>

For being able to have declarations like :

         <element name = "AUTHOR">
                 <complexType content = "elementOnly">
                         <sequence>
                                 <element name= "FIRST" type="textType"/>
                                 <element name= "LAST" type="textType"/>
                         </sequence>
                 </complexType>
         </element>



This does not work because the mixed content is not recognize and I a no 
more able to have mixed contents : <FIRST>Here is a <B>real</B> test </FURST>.


Any ideas would be welcome ...

Pierre


***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************




 

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

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