Re: Schema definitions according to 19991217 Schema draft, Part 1

> *************************************************************************************
> This is the first part of schema definitions, including chapter 3.3.3.3.
> I will have I look at the remaining parts of the draft tomorrow.
> *************************************************************************************

Here are the remaining parts including chapter 4:

----------------------------------------------------------------------------------------
Section "3.4 The KeyInfo Element":
----------------------------------------------------------------------------------------

Old definition:

    <element name='KeyInfo' minOccurs='0' maxOccurs='1'> 
      <archetype order='seq' content='any'> 
	<element name='KeyName' type='string' /> 
	<element name='KeyValue' type='string' /> 
	<element name='SubjectName' type='string' /> 
	<element name='RetrievalMethod' type='string' /> 
	<element ref='X509Data' type='string'> 
	<element ref='PGPData' type='string'> 
	<element ref='MgmtData' type='string' minOccurs='0' maxOccurs='1'/> 
	<attribute name='Id' type='ID' /> 
      </archetype> 
    </element> 

New definition:

    <element name='KeyInfo'> 
      <type content='elementOnly'>
        <group order='choice' minOccurs='1' maxOccurs='1'>       
	  <element name='KeyName' type='string'/> 
	  <element name='KeyValue' type='string'/> 
	  <element name='SubjectName' type='string'/> 
	  <element name='RetrievalMethod' type='string'/> 
	  <element ref='X509Data'/> 
	  <element ref='PGPData'/> 
	  <element name='MgmtData' type='string' minOccurs='0' maxOccurs='1'/>
	  <any/>
        </group>
	<attribute name='Id' type='ID' minOccurs='0' maxOccurs='1'/> 
      </type> 
    </element> 

Note: Maybe consider group's attribute maxOccurs to be '*' instead of '1'

Old definition:

    <element name='X509Data' type='string'> 
      <archetype order='seq' content='any'> 
	<element name='X509IssuerSerial' type='string'> 
	  <archetype order='seq' content='elemOnly'> 
	    <element name='X509Name' type='string' /> 
	    <element name='X509SerialNumber' type='string' /> 
	  </archetype> 
	</element> 
	<element name='X509SKI' type='string' /> 
	<element name='X509Name' type='string' /> 
	<element name='X509Certificate' type='string' /> 
	<element name='X509CRL' type='string' /> 
      </archetype> 
    </element> 

New definition:

    <element name='X509IssuerSerial'> 
      <type content='elementOnly'> 
	<group order='seq' minOccurs='1' maxOccurs='1'> 
	  <element name='X509Name' type='string' minOccurs='1' maxOccurs='1'/> 
	  <element name='X509SerialNumber' type='string' minOccurs='1' maxOccurs='1'/> 
	</group>
      </type> 
    </element> 
        
    <element name='X509Data'> 
      <type content='elementOnly'> 
        <group order='seq' minOccurs='1' maxOccurs='1'> 
          <group order='choice' minOccurs='1' maxOccurs='1'> 
	    <element ref='X509IssuerSerial'/>
	    <element name='X509SKI' type='string'/> 
	    <element name='X509Name' type='string'/> 
	  </group>  
	  <element name='X509Certificate' type='string' minOccurs='0' maxOccurs='1'/> 
	  <element name='X509CRL' type='string' minOccurs='0' maxOccurs='1'/> 
        <group>
      </type> 
    </element> 

Old definition:

    <element name='PGPData' type='string'> 
      <archetype order='seq' content='elemOnly'> 
	<element name='PGPKeyID' type='string' /> 
	<element name='PGPKeyPacket' type='string' /> 
      </archetype> 
    </element> 

New definition:

    <element name='PGPData'> 
      <type content='elementOnly'> 
        <group order='seq' minOccurs='1' maxOccurs='1'>
	  <element name='PGPKeyID' type='string' minOccurs='1' maxOccurs='1'/> 
	  <element name='PGPKeyPacket' type='string' minOccurs='1' maxOccurs='1'/> 
	</group>  
      </type> 
    </element> 


Old definition:

    <element name='MgmtData' type='string' minOccurs='0' maxOccurs='1'/> 
      </archetype> 
    </element> 

New definition:

    Obsolete.

----------------------------------------------------------------------------------------
Section "3.5 The Object Element":
----------------------------------------------------------------------------------------

Old definition:

    <element name='Object' > 
      <archetype content='any'> 
	<attribute name='Id' type='ID' /> 
	<attribute name='Type' type='uri' /> 
	<attribute name='Encoding' type='uri' /> 
      </archetype> 
    </element> 

New definition:

    <element name='Object' > 
      <type content='mixed'> 
	<attribute name='Id' type='ID' minOccurs='0' maxOccurs='1'/> 
	<attribute name='Type' type='uri' minOccurs='0' maxOccurs='1'/> 
	<attribute name='Encoding' type='uri' minOccurs='0' maxOccurs='1'/> 
      </type> 
    </element> 

----------------------------------------------------------------------------------------
Section "3.6 The Parameter Element":
----------------------------------------------------------------------------------------

Old definition:

    <element name='Parameter' > 
      <archetype content='any'> 
	<attribute name='Encoding' type='uri' /> 
      </archetype> 
    </element> 

New definition:

    <element name='Parameter'> 
      <type content='mixed'> 
	<attribute name='Encoding' type='uri' minOccurs='0' maxOccurs='1'/> 
      </archetype> 
    </element> 

----------------------------------------------------------------------------------------
Section "4.1 The Manifest and Package Elements":
----------------------------------------------------------------------------------------

Old definition:

    <element name='Manifest'> 
      <archetype> 
	<element ref='Reference' minOccurs='1' maxOccurs='*'/> 
	<element ref='Object' minOccurs='0' maxOccurs='*'/> 
	<attribute name='Id' type='id' /> 
      </archetype> 
    </element> 

New definition:

    <element name='Manifest'> 
      <type content='elementOnly'>
        <group order='seq' minOccurs='1' maxOccurs='1'>
	  <element ref='Reference' minOccurs='1' maxOccurs='*'/> 
	  <element ref='Object' minOccurs='0' maxOccurs='*'/> 
	</group>  
	<attribute name='Id' type='ID' minOccurs='0' maxOccurs='1'/> 
      </type> 
    </element> 

Old definition:

    <element name='Package'> 
      <archetype> 
	<element ref='Reference' minOccurs='1' maxOccurs='*'/> 
	<element ref='Object' minOccurs='0' maxOccurs='*'/> 
	<attribute name='Id' type='id' /> 
      </archetype> 
    </element> 

New definition:

    <element name='Package'> 
      <type content='elementOnly'>
        <group order='seq' minOccurs='1' maxOccurs='1'>
	  <element ref='Reference' minOccurs='1' maxOccurs='*'/> 
	  <element ref='Object' minOccurs='0' maxOccurs='*'/> 
	</group>  
	<attribute name='Id' type='ID' minOccurs='0' maxOccurs='1'/> 
      </type> 
    </element> 

----------------------------------------------------------------------------------------
Section "4.2 The SignatureProperties Element":
----------------------------------------------------------------------------------------

Old definition:

    <element name='SignatureProperties' > 
      <archetype content='elemOnly' > 
	<element ref='SignatureProperty' minOccurs='1' maxOccurs='*'> 
	<attribute name='Id' type='id'/> 
      </archetype> 
    </element> 

New definition:

    <element name='SignatureProperties'> 
      <type content='elementOnly'> 
	<element ref='SignatureProperty' minOccurs='1' maxOccurs='*'> 
	<attribute name='Id' type='ID' minOccurs='0' maxOccurs='1'/> 
      </type> 
    </element> 

Old definition:

    <element name='SignatureProperty' > 
      <archetype content='any' > 
	<attribute name='Target' type='idref' /> 
      </archetype> 
    </element> 

New definition:

    <element name='SignatureProperty'> 
      <type content='mixed'> 
	<attribute name='Target' type='IDREF' minOccurs='1' maxOccurs='1'/> 
      </type> 
    </element> 


Regards, Gregor
-- 
---------------------------------------------------------------
Gregor Karlinger
mailto://gregor.karlinger@iaik.at
Institute for Applied Information Processing and Communications
Austria
---------------------------------------------------------------

Received on Tuesday, 21 December 1999 04:37:42 UTC