<?xml version='1.0'?>

<!-- 
     An XML Schema for the Infoset.
     Authors: Richard Tobin and Henry Thompson
     Copyright 2001 LTG, University of Edinburgh
-->

<s:schema xmlns:s="http://www.w3.org/2001/XMLSchema"
	  targetNamespace="http://www.w3.org/2001/05/XMLInfoset"
	  xmlns="http://www.w3.org/2001/05/XMLInfoset"
	  xmlns:psv="http://www.w3.org/2001/05/PSVInfosetExtension"
	  elementFormDefault="qualified">

 <s:import namespace="http://www.w3.org/2001/05/PSVInfosetExtension" 
           schemaLocation="PSVInfosetExtension.xsd"/>

 <s:redefine schemaLocation="XMLInfoset-strict.xsd">

  <s:complexType name="Element">
   <s:complexContent>
    <s:restriction base="Element">
     <s:sequence>
      <!-- Original properties -->
      <s:element ref="namespaceName"/>
      <s:element ref="localName"/>
      <s:element ref="prefix"/>
      <s:element name="children" type="ElementChildren"/>
      <s:element ref="attributes"/>
      <s:element ref="namespaceAttributes"/>
      <s:element ref="inScopeNamespaces"/>
      <s:element ref="baseURI"/>
      <!-- New properties -->
      <s:element ref="psv:schemaInformation"/>
      <s:element ref="psv:validationAttempted"/>
      <s:element ref="psv:validationContext"/>
      <s:element ref="psv:validity"/>
      <s:element ref="psv:schemaErrorCode"/>
      <s:element ref="psv:schemaNormalizedValue"/>
      <s:element ref="psv:schemaSpecified"/>
      <s:element ref="psv:typeDefinition"/>
      <s:element ref="psv:memberTypeDefinition"/>
      <s:element ref="psv:declaration"/>
      <s:element ref="psv:nil"/>
      <s:element ref="psv:notation"/>
      <s:element ref="psv:idIdrefTable"/>
      <s:element ref="psv:identityConstraintTable"/>
      </s:sequence>
    </s:restriction>
   </s:complexContent>
  </s:complexType>
 
  <s:complexType name="Attribute">
   <s:complexContent>
    <s:restriction base="Attribute">
     <s:sequence>
      <!-- Original properties -->
      <s:element ref="namespaceName"/>
      <s:element ref="localName"/>
      <s:element ref="prefix"/>
      <s:element ref="normalizedValue"/>
      <s:element ref="specified"/>
      <s:element ref="attributeType"/>
      <s:element ref="references"/>
      <!-- New properties -->
      <s:element ref="psv:validationAttempted"/>
      <s:element ref="psv:validationContext"/>
      <s:element ref="psv:validity"/>
      <s:element ref="psv:schemaErrorCode"/>
      <s:element ref="psv:schemaNormalizedValue"/>
      <s:element ref="psv:schemaSpecified"/>
      <s:element ref="psv:typeDefinition"/>
      <s:element ref="psv:memberTypeDefinition"/>
      <s:element ref="psv:declaration"/>
     </s:sequence>
    </s:restriction>
   </s:complexContent>
  </s:complexType>

 </s:redefine>

</s:schema>
