org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/InValidCycleAnonymous.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Mon Aug 18 15:47:55 2008 UTC (17 months, 3 weeks ago) by amehregani
Branch: MAIN
CVS Tags: v1_0_0_i13, COSMOS_1_0_0
Branch point for: COSMOS-1_0_0
Changes since 1.1: +11 -11 lines
https://bugs.eclipse.org/bugs/show_bug.cgi?id=237921
<?xml version="1.0" encoding="utf-8"?>
<!-- 
/*******************************************************************************
 * Copyright (c) 2008 IBM Corporation.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
 -->
<model xmlns="http://www.w3.org/2008/09/sml-if" schemaComplete="true">
  <identity>
    <name>InvalidCyclesWithAcyclicReferences</name>
    <baseURI>
		http://interop.serviceml.org
	</baseURI>
    <description>
		A model is invalid if instances of the acyclic anonymous type CT
		form a cycle
	</description>	
  </identity>
  <definitions>
    <document>
      <data> 
        <xs:schema targetNamespace="urn:university"
                 elementFormDefault="qualified"
                 xmlns:tns="urn:university"
                 xmlns:xs="http://www.w3.org/2001/XMLSchema"
                 xmlns:sml="http://www.w3.org/2008/09/sml">

          <xs:complexType name="OptionalCourseRefType" sml:acyclic="true">
          	<xs:sequence>
				<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>         
          	<xs:anyAttribute namespace="##any" processContents="lax"/>
          </xs:complexType>

          <xs:complexType name="RequiredCourseRefType">
            <xs:complexContent>
              <xs:extension base="tns:OptionalCourseRefType"/>
            </xs:complexContent>
          </xs:complexType>

          <xs:element name="Course" type="tns:CourseType"/>
          <xs:element name="Courses">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="Course" type="tns:CourseType" 
                            minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>

          <xs:complexType name="CourseType">
            <xs:sequence>
              <xs:element name="Name" type="xs:string"/>
              <xs:element name="OptionalPreRequisite" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType sml:acyclic="true">
          	      <xs:sequence>
				    <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			      </xs:sequence>         
          	      <xs:anyAttribute namespace="##any" processContents="lax"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:schema>
      </data>
    </document>
  </definitions>
  <instances>
    <document>
      <docinfo>
        <aliases>
          <alias>Course1</alias>
        </aliases>
      </docinfo>
      <data> 
        <Course xmlns="urn:university"
           xmlns:sml="http://www.w3.org/2008/09/sml"> 
          <Name>Course1</Name>
          <OptionalPreRequisite sml:ref="true">
            <sml:uri>Course2</sml:uri>
          </OptionalPreRequisite>
        </Course>
      </data>
    </document>
    <document>
      <docinfo> 
        <aliases>
          <alias>Course2</alias>
        </aliases>
      </docinfo>
      <data>
        <Course xmlns="urn:university"
           xmlns:sml="http://www.w3.org/2008/09/sml">
          <Name>Course2</Name>
          <OptionalPreRequisite sml:ref="true">
            <sml:uri>Course3</sml:uri>
          </OptionalPreRequisite>
        </Course>
      </data>
    </document>
    <document>
      <docinfo> 
        <aliases>
          <alias>Course3</alias>
        </aliases>
      </docinfo>
      <data>
        <Course xmlns="urn:university"
           xmlns:sml="http://www.w3.org/2008/09/sml">
          <Name>Course3</Name>
          <OptionalPreRequisite sml:ref="true">
            <sml:uri>Course1</sml:uri>
          </OptionalPreRequisite>
        </Course>
      </data>
    </document>
  </instances>
</model>