One document matched: draft-legg-xed-schema-05.txt
Differences from draft-legg-xed-schema-04.txt
INTERNET-DRAFT S. Legg
draft-legg-xed-schema-05.txt eB2Bcom
Intended Category: Experimental D. Prager
August 30, 2007
The XML-Enabled Directory: Schema Operational Attributes
Copyright (C) The IETF Trust (2007).
Status of This Memo
By submitting this Internet-draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Technical discussion of this document should take place on the XED
developers mailing list <xeddev@eb2bcom.com>. Please send editorial
comments directly to the editor <steven.legg@eb2bcom.com>. Further
information is available on the XED website: www.xmled.info.
This Internet-Draft expires on 29 February 2008.
Abstract
This document defines additional subschema operational attributes for
the XML-Enabled Directory (XED) that allow user-defined directory
attribute syntaxes to be imported into a directory server. User-
defined syntaxes specified in XML Schema, RELAX NG, or Abstract
Syntax Notation One (ASN.1), or specified as XML document type
Legg & Prager Expires 29 February 2008 [Page 1]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
definition (DTD) element type declarations, are supported.
Table of Contents
1. Introduction ....................................................2
2. Conventions .....................................................2
3. Additional System Schema ........................................3
3.1. The Schema Identity Syntax .................................3
3.2. The Identified Schema Syntax ...............................3
3.3. The schemaIdentityMatch Matching Rule ......................5
3.4. The definitions Attribute ..................................5
4. Referencing Imported Schemas ....................................6
5. Example .........................................................7
6. Security Considerations ........................................12
7. Acknowledgements ...............................................12
8. IANA Considerations ............................................12
9. References .....................................................13
9.1. Normative References ......................................13
9.2. Informative References ....................................14
Appendix A. ASN.1 for XED Schema ..................................14
Appendix B. ASN.X for XED Schema ..................................16
1. Introduction
This document defines additional subschema operational attributes for
the XML-Enabled Directory (XED) [XED] that allow user-defined
attribute syntaxes to be imported into a directory server. User-
defined syntaxes specified in XML Schema [XSD1], RELAX NG [RNG], or
Abstract Syntax Notation One (ASN.1) [X.680] (in the form of Abstract
Syntax Notation X [ASN.X]), or specified as XML document type
definition (DTD) [XML10] element type declarations, are supported.
The Attribute Type Description syntax [SYNTAX] is extended to enable
definitions from an imported user-defined schema to be referenced in
the definition of the syntax of a directory attribute type.
2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", and "MAY" in this document are
to be interpreted as described in BCP 14, RFC 2119 [BCP14]. The key
word "OPTIONAL" is exclusively used with its ASN.1 meaning.
The term "attribute" shall be taken to mean a directory attribute,
not an XML attribute.
Throughout this document the term "type" is always qualified as
either an attribute type, ASN.1 type, or XML Schema type, as
Legg & Prager Expires 29 February 2008 [Page 2]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
appropriate.
3. Additional System Schema
An additional subschema operational attribute is defined to hold user
supplied schema definitions. This attribute requires the definition
of new attribute syntaxes and a new matching rule [MODELS].
The ASN.1 definitions in this section are consolidated in the
XED-SchemaOperationalAttributes ASN.1 module in Appendix A. The
Abstract Syntax Notation X (ASN.X) translation of this module is
presented in Appendix B.
3.1. The Schema Identity Syntax
A value of the Schema Identity syntax is a URI [URI] identifying a
schema definition document.
The LDAP definition for the Schema Identity syntax is:
( 1.3.6.1.4.1.21472.5.5.0 DESC 'Schema Identity' )
The LDAP-specific encoding for a value of the Schema Identity syntax
is the URI character string.
The ASN.1 type corresponding to the Schema Identity syntax is defined
as follows:
SchemaIdentity ::= AnyURI
The AnyURI ASN.1 type is defined by the specification for the Robust
XML Encoding Rules (RXER) [RXER].
3.2. The Identified Schema Syntax
A value of the Identified Schema syntax is a URI identifying a schema
definition along with the schema definition document itself; either
an ASN.X module, an XML Schema document, a RELAX NG grammar, or an
external DTD subset [XML10].
The LDAP definition for the Identified Schema syntax is:
( 1.3.6.1.4.1.21472.5.5.1 DESC 'Identified Schema' )
The ASN.1 type corresponding to the Identified Schema syntax is
defined as follows, assuming AUTOMATIC TAGS:
IdentifiedSchema ::= SEQUENCE {
Legg & Prager Expires 29 February 2008 [Page 3]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
identifier SchemaIdentity,
description DirectoryString { ub-schema } OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
document SchemaDocument }
SchemaDocument ::= CHOICE {
module [RXER:ELEMENT-REF {
namespace-name "urn:ietf:params:xml:ns:asnx",
local-name "module" }] Markup,
schema [RXER:ELEMENT-REF {
namespace-name
"http://www.w3.org/2001/XMLSchema",
local-name "schema" }] Markup,
grammar [RXER:ELEMENT-REF {
namespace-name
"http://relaxng.org/ns/structure/1.0",
local-name "grammar" }] Markup,
dtd ExternalSubset }
ExternalSubset ::= UTF8String (CONSTRAINED BY {
-- contains an external DTD subset,
-- i.e., text conforming to
-- the extSubset production of XML -- })
The LDAP-specific encoding of a value of the Identified Schema syntax
is defined to be the same as the encoding of the value according to
the "transfer-rxer" transfer encoding option [TRANSFER].
Aside: This does not impose a requirement to explicitly use the
"transfer-rxer" option when requesting and transferring attributes
of the Identified Schema syntax.
The dtd alternative of the document component of a value of the
Identified Schema syntax is constrained to contain an external DTD
subset, i.e., text conforming to the extSubset production of XML
[XML10]. When the dtd alternative of the document component is
selected, the identifier component of the value SHOULD contain the
system identifier [XML10] of the external DTD subset.
Note that an internal DTD subset, i.e., text conforming to the
intSubset production of XML, is also of the correct syntactic form
for an external DTD subset. Where a DTD comprises both an external
subset and an internal subset, it is necessary to append the external
subset to the internal subset for storage in the dtd alternative of
the document component. If the DTD subset references an external
parameter entity that conforms to the extSubset production, then that
entity MAY be stored as a separate value of the Identified Schema
syntax, in which case the identifier component of this separate value
Legg & Prager Expires 29 February 2008 [Page 4]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
SHOULD be the system identifier [XML10] of the external parameter
entity. Otherwise, an external parameter entity MUST be replaced in
the DTD subset by its replacement text or included in the DTD subset
as an equivalent internal parameter entity.
Where an external parameter entity is stored as a separate value of
the Identified Schema syntax, the identifier component of that value
MUST be the same as the system identifier in the corresponding
external entity declaration in the DTD subset.
Note that in the RXER encoding [RXER] of a value of the Identified
Schema syntax, markup in the dtd alternative must be escaped. This
is most easily achieved by encoding the string value of the dtd
alternative within a CDATA section [XML10][XML11].
3.3. The schemaIdentityMatch Matching Rule
The schemaIdentityMatch matching rule compares an assertion value of
the Schema Identity syntax to an attribute value of a syntax (e.g the
Identified Schema syntax) whose corresponding ASN.1 type is a
SEQUENCE with a mandatory first component of the SchemaIdentity ASN.1
type.
Note that the assertion syntax of this matching rule differs from the
attribute syntax of attributes for which this is the equality
matching rule.
The rule evaluates to TRUE if and only if the assertion value and the
first component of the attribute value have the same number of
characters, and corresponding characters have the same code point.
The LDAP-style definition for the schemaIdentityMatch matching rule
is:
( 1.3.6.1.4.1.21472.5.13.0 NAME 'schemaIdentityMatch'
SYNTAX 1.3.6.1.4.1.21472.5.5.0 )
The X.500-style definition for the schemaIdentityMatch matching rule
is:
schemaIdentityMatch MATCHING-RULE ::= {
SYNTAX SchemaIdentity
ID { iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1)
xmled(21472) ds(5) matchingRule(13) 0 } }
3.4. The definitions Attribute
Legg & Prager Expires 29 February 2008 [Page 5]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
User-defined schema documents are imported into a XED server as
values of the definitions attribute in a subschema subentry [MODELS].
A particular schema document potentially appears in more than one
subschema subentry, in which case the same identifier MUST be used
for the schema document throughout the Directory Information Tree
(DIT) [MODELS].
The LDAP-style definition for the definitions attribute is:
( 1.3.6.1.4.1.21472.5.21.0 NAME 'definitions'
EQUALITY schemaIdentityMatch
SYNTAX 1.3.6.1.4.1.21472.5.5.1
USAGE directoryOperation )
The X.500-style definition for the definitions attribute is:
definitions ATTRIBUTE ::= {
WITH SYNTAX IdentifiedSchema
EQUALITY MATCHING RULE schemaIdentityMatch
USAGE directoryOperation
ID { iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1)
xmled(21472) ds(5) schemaOperationalAttribute(21) 0 } }
4. Referencing Imported Schemas
Since the second edition of X.500, users have theoretically been able
to import their own attribute syntax definitions into subschema in
the form of ASN.1 type definitions. The attributeSyntax component of
the AttributeTypeDescription ASN.1 type [X.501] (the associated ASN.1
type for the Attribute Type Description syntax [SYNTAX]) is a
character string permitted to contain the text of an ASN.1 type
definition. However, the LDAP-specific encoding of the
AttributeTypeDescription ASN.1 type replaces the character string
with an OBJECT IDENTIFIER [X.680], effectively allowing only
predefined syntaxes in LDAP.
This specification defines an extension field for the LDAP-specific
encoding of the Attribute Type Description syntax so that the
character string content of the attributeSyntax component can be
rendered. In addition, the syntax is permitted to be described using
ASN.X, which is more easily parsed than ASN.1 type notation.
Encoding instructions [X.680-1] for RXER [RXEREI] enable XML Schema,
RELAX NG, and DTD definitions to be simply referenced from an ASN.1
or ASN.X type definition, thus providing the means to define an
attribute syntax in terms of these other languages.
The identifier of the extension field is X-SYNTAX-DEFINITION. The
Legg & Prager Expires 29 February 2008 [Page 6]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
<qdstrings> [MODELS] for the extension field SHALL be a single
<qdstring>. The content corresponding to the <qdstring> is the
character string content of the attributeSyntax component of an
instance of the AttributeTypeDescription ASN.1 type.
The attributeSyntax component is permitted to contain any character
string which is a valid ASN.X type definition (i.e., an ASN.X <type>
element), in addition to the content already prescribed by X.501
[X.501]. When the attributeSyntax component contains an ASN.X type
definition, the TagDefault [X.680] is assumed to be AUTOMATIC TAGS,
and the ExtensionDefault [X.680] is assumed to be empty.
If an attribute type is a subtype, and an attribute syntax is
specified, then that syntax MUST be compatible with the syntax of the
supertype, i.e., every possible abstract value of the subtype's
syntax must be an abstract value of the supertype's syntax.
Aside: In the case where the syntax of the supertype is a
reference to an XML Schema type, then this requirement is
satisfied if the syntax of the subtype is the same XML Schema
type, or a type derived from it by restriction.
An attribute syntax defined through an X-SYNTAX-DEFINITION field is
not required to have an associated syntax object identifier [SYNTAX]
(thus an attribute definition with an X-SYNTAX-DEFINITION field is
not required to also have a SYNTAX field). If an object identifier
has not been defined for a syntax, then the X-SYNTAX-DEFINITION field
MUST appear, otherwise it MAY appear.
If the X-SYNTAX-DEFINITION <qdstring> contains an ASN.X <type>
element, and the SYNTAX field is absent, then the LDAP-specific
encoding for values of the attribute is assumed to be the same as the
"transfer-rxer" encoding [TRANSFER].
5. Example
Suppose a directory administrator wishes to define two new attributes
to hold data conforming to the VertexID data type and the <graph>
element definition from the following XML Schema:
<schema targetNamespace="http://www.example.com/directed-graph"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:dg="http://www.example.com/directed-graph">
<complexType name="VertexID" type="NCName"/>
<element name="graph">
<complexType>
Legg & Prager Expires 29 February 2008 [Page 7]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
<sequence>
<element name="vertex" minOccurs="0" maxOccurs="unbounded">
<complexType>
<attribute name="id" type="dg:VertexID" use="required"/>
</complexType>
</element>
<element name="arc" minOccurs="0" maxOccurs="unbounded">
<complexType>
<attribute name="head" type="dg:VertexID" use="required"/>
<attribute name="tail" type="dg:VertexID" use="required"/>
<attribute name="weight" type="integer"/>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
Assume that this schema document can be uniquely identified by the
URI "http://www.example.com/digraph.xsd".
The first step is to install the schema definitions into the
subschema subentry. Using LDAP, this is done by adding the following
value to the definitions attribute in the subschema subentry:
<?xml version="1.0"?>
<value>
<identifier>http://www.example.com/digraph.xsd</identifier>
<document>
<schema targetNamespace="http://www.example.com/directed-graph"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:dg="http://www.example.com/directed-graph">
<complexType name="VertexID" type="NCName"/>
<element name="graph">
<complexType>
<sequence>
<element name="vertex" minOccurs="0" maxOccurs="unbounded">
<complexType>
<attribute name="id" type="dg:VertexID" use="required"/>
</complexType>
</element>
<element name="arc" minOccurs="0" maxOccurs="unbounded">
<complexType>
<attribute name="head" type="dg:VertexID" use="required"/>
<attribute name="tail" type="dg:VertexID" use="required"/>
Legg & Prager Expires 29 February 2008 [Page 8]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
<attribute name="weight" type="integer"/>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
</document>
</value>
Note that the LDAP-specific encoding for values of the definitions
attribute is exactly the same as the "transfer-rxer" encoding.
The value could also be added using XLDAP [XLDAP], using exactly the
same markup for the <value> elements.
An attribute with the VertexID data type as its syntax is defined for
LDAP like so:
( 1.3.6.1.4.1.21472.5.4.0.0 NAME 'startVertex'
X-SYNTAX-DEFINITION '
<type xmlns:dg="http://www.example.com/directed-graph"
ref="dg:VertexID" embedded="true"/>')
which (minus the first line break) is also the LDAP-specific encoding
of the value of the Attribute Type Description syntax that must be
added to the attributeTypes attribute in the subschema subentry to
publish the definition of the startVertex attribute.
The "transfer-rxer" encoding for the definition of the startVertex
attribute is:
<?xml version="1.0"?>
<value>
<identifier>1.3.6.1.4.1.21472.5.4.0.0</identifier>
<name>
<item>startVertex</item>
</name>
<information>
<attributeSyntax><![CDATA[
<type xmlns:dg="http://www.example.com/directed-graph"
ref="dg:VertexID" embedded="true"/>]]></attributeSyntax>
</information>
</value>
The attributeSyntax component is a DirectoryString [X.501], hence
markup embedded in it must be escaped (in this case using a CDATA
Legg & Prager Expires 29 February 2008 [Page 9]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
section).
The definition of the startVertex attribute could also be added to a
subschema subentry using XLDAP, using exactly the same markup for the
<value> element.
A single-valued attribute where the value contains a <graph> element
can be defined for LDAP like so:
( 1.3.6.1.4.1.21472.5.4.0.1 NAME 'transportNetwork'
SINGLE-VALUE
X-SYNTAX-DEFINITION '
<type xmlns:dg="http://www.example.com/directed-graph">
<choice>
<element ref="dg:graph" embedded="true"/>
</choice>
</type>' )
The "transfer-rxer" encoding for the definition of the
transportNetwork attribute is:
<?xml version="1.0"?>
<value>
<identifier>1.3.6.1.4.1.21472.5.4.0.1</identifier>
<name>
<item>transportNetwork</item>
</name>
<information>
<attributeSyntax><![CDATA[
<type xmlns:dg="http://www.example.com/directed-graph">
<choice>
<element ref="dg:graph" embedded="true"/>
</choice>
</type>]]></attributeSyntax>
<multi-valued>false</multi-valued>
</information>
</value>
The format for the contents of the attributeSyntax component has been
chosen for consistency with the ASN.X representation of attribute
type definitions in X.500. Consider the X.500-style definitions for
the startVertex and transportNetwork attributes.
startVertex ATTRIBUTE ::= {
WITH SYNTAX
[RXER:TYPE-REF {
namespace-name "http://www.example.com/directed-graph",
local-name "VertexID" }] Markup
Legg & Prager Expires 29 February 2008 [Page 10]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
ID { iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1)
xmled(21472) ds(5) attributeType(4) example(0) 0 } }
transportNetwork ATTRIBUTE ::= {
WITH SYNTAX
CHOICE {
graph [RXER:ELEMENT-REF {
namespace-name
"http://www.example.com/directed-graph",
local-name "graph" }] Markup
}
SINGLE-VALUE TRUE
ID { iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1)
xmled(21472) ds(5) attributeType(4) example(0) 1 } }
An ASN.X representation for these two ATTRIBUTE information objects
is (where the namespace prefix "inf:" stands for the namespace name
"http://xmled.info/ns/X.500/5/InformationFramework"):
<namedObject name="startVertex" class="inf:ATTRIBUTE">
<object>
<field name="Type">
<type xmlns:dg="http://www.example.com/directed-graph"
ref="dg:VertexID" embedded="true"/>
</field>
<field name="id" literalValue="1.3.6.1.4.1.21472.5.4.0.0"/>
</object>
</namedObject>
<namedObject name="transportNetwork" class="inf:ATTRIBUTE">
<object>
<field name="Type">
<type xmlns:dg="http://www.example.com/directed-graph">
<choice>
<element ref="dg:graph" embedded="true"/>
</choice>
</type>
</field>
<field name="single-valued" literalValue="true"/>
<field name="id" literalValue="1.3.6.1.4.1.21472.5.4.0.1"/>
</object>
</namedObject>
Note the correspondence between the content of the "Type" fields in
the ASN.X representation of the information objects, the
X-SYNTAX-DEFINITION fields in the LDAP attribute definitions, and the
Legg & Prager Expires 29 February 2008 [Page 11]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
<attributeSyntax> components in the "transfer-rxer" encodings of
AttributeTypeDescription.
6. Security Considerations
Attributes of directory entries are used to provide descriptive
information about the real-world objects they represent, which can be
people, organizations, and devices, among other things. Most
countries have privacy laws regarding the publication of information
about people.
7. Acknowledgements
The technology described in this document is the product of a
research project begun jointly by Adacel Technologies Limited and
Deakin University, and subsequently refined and completed by eB2Bcom.
8. IANA Considerations
The Internet Assigned Numbers Authority (IANA) is requested to update
the LDAP descriptors registry [BCP64] as indicated by the following
templates:
Subject: Request for LDAP Descriptor Registration
Descriptor (short name): schemaIdentityMatch
Object Identifier: 1.3.6.1.4.1.21472.5.13.0
Person & email address to contact for further information:
Steven Legg <steven.legg@eb2bcom.com>
Usage: other (matching rule)
Specification: RFC XXXX
Author/Change Controller: IESG
Subject: Request for LDAP Descriptor Registration
Descriptor (short name): definitions
Object Identifier: 1.3.6.1.4.1.21472.5.21.0
Person & email address to contact for further information:
Steven Legg <steven.legg@eb2bcom.com>
Usage: attribute type
Specification: RFC XXXX
Author/Change Controller: IESG
The IANA is requested to register a new XML namespace in accordance
with RFC 3688 [XMLREG].
URI: urn:ietf:params:xml:ns:xed-soa
Registrant Contact: Steven Legg <steven.legg@eb2bcom.com>
Legg & Prager Expires 29 February 2008 [Page 12]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
XML: None
The object identifiers have been assigned for use in this
specification by xmled.org, under an arc assigned to xmled.org by the
IANA.
9. References
9.1. Normative References
[BCP14] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[XMLREG] Mealling, M., "The IETF XML Registry", RFC 3688, January
2004.
[URI] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform
Resource Identifiers (URI): Generic Syntax", STD 66, RFC
3986, January 2005.
[ABNF] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
[MODELS] Zeilenga, K., "Lightweight Directory Access Protocol
(LDAP): Directory Information Models", RFC 4512, June
2006.
[SYNTAX] Legg, S., Ed., "Lightweight Directory Access Protocol
(LDAP): Syntaxes and Matching Rules", RFC 4517, June 2006.
[BCP64] Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
Considerations for the Lightweight Directory Access
Protocol (LDAP)", BCP 64, RFC 4520, June 2006.
[RXER] Legg, S. and D. Prager, "Robust XML Encoding Rules (RXER)
for Abstract Syntax Notation One (ASN.1)", RFC 4910, July
2007.
[RXEREI] Legg, S., "Encoding Instructions for the Robust XML
Encoding Rules (RXER)", RFC 4911, July 2007.
[ASN.X] Legg, S., "Abstract Syntax Notation X (ASN.X)", RFC 4912,
July 2007.
[TRANSFER] Legg, S., "Lightweight Directory Access Protocol (LDAP):
Transfer Encoding Options",
draft-legg-ldap-transfer-xx.txt, a work in progress,
August 2006.
Legg & Prager Expires 29 February 2008 [Page 13]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
[X.501] ITU-T Recommendation X.501 (08/05) | ISO/IEC 9594-2:2005,
Information technology - Open Systems Interconnection -
The Directory: Models.
[X.680] ITU-T Recommendation X.680 (07/02) | ISO/IEC 8824-1,
Information technology - Abstract Syntax Notation One
(ASN.1): Specification of basic notation.
[X.680-1] ITU-T Recommendation X.680 (2002) Amendment 1 (10/03) |
ISO/IEC 8824-1:2002/Amd 1:2004, Support for EXTENDED-XER.
[XML10] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and
F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth
Edition)", W3C Recommendation,
http://www.w3.org/TR/2006/REC-xml-20060816, August 2006.
[XML11] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E.,
Yergeau, F., and J. Cowan, "Extensible Markup Language
(XML) 1.1 (Second Edition)", W3C Recommendation,
http://www.w3.org/TR/2006/REC-xml11-20060816, August 2006.
[XSD1] Thompson, H., Beech, D., Maloney, M. and N. Mendelsohn,
"XML Schema Part 1: Structures Second Edition", W3C
Recommendation,
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/,
October 2004.
[RNG] Clark, J. and M. Makoto, "RELAX NG Tutorial", OASIS
Committee Specification, http://www.oasis-
open.org/committees/relax-ng/tutorial-20011203.html,
December 2001.
9.2. Informative References
[XED] Legg, S. and D. Prager, "The XML-Enabled Directory",
draft-legg-xed-roadmap-xx.txt, a work in progress, August
2007.
[XLDAP] Legg, S. and D. Prager, "The XML-Enabled Directory:
Protocols", draft-legg-xed-protocols-xx.txt, a work in
progress, August 2007.
Appendix A. ASN.1 for XED Schema
This appendix is normative.
XED-SchemaOperationalAttributes
{ iso(1) identified-organization(3) dod(6)
Legg & Prager Expires 29 February 2008 [Page 14]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
internet(1) private(4) enterprise(1)
xmled(21472) ds(5) module(1) schema(0) }
-- Copyright (C) The IETF Trust (2007). This version of
-- this ASN.1 module is part of RFC XXXX; see the RFC itself
-- for full legal notices.
--
-- Regarding this ASN.1 module or any portion of it, the authors
-- make no guarantees and are not responsible for any damage
-- resulting from its use. The authors grant irrevocable permission
-- to anyone to use, modify, and distribute it in any way that does
-- not diminish the rights of anyone else to use, modify, and
-- distribute it, provided that redistributed derivative works do
-- not contain misleading author or version information.
-- Derivative works need not be licensed under similar terms.
DEFINITIONS
RXER INSTRUCTIONS
AUTOMATIC TAGS
EXTENSIBILITY IMPLIED ::= BEGIN
IMPORTS
Markup,
AnyURI
FROM AdditionalBasicDefinitions
{ iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1)
xmled(21472) asnx(1) module(0) basic(0) }
ATTRIBUTE,
MATCHING-RULE
FROM InformationFramework
{ joint-iso-itu-t ds(5) module(1)
informationFramework(1) 5 }
DirectoryString{}
FROM SelectedAttributeTypes
{ joint-iso-itu-t ds(5) module(1)
selectedAttributeTypes(5) 5 }
ub-schema
FROM UpperBounds
{ joint-iso-itu-t ds(5) module(1)
upperBounds(10) 5 }
;
SchemaIdentity ::= AnyURI
IdentifiedSchema ::= SEQUENCE {
identifier SchemaIdentity,
description DirectoryString { ub-schema } OPTIONAL,
Legg & Prager Expires 29 February 2008 [Page 15]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
obsolete BOOLEAN DEFAULT FALSE,
document SchemaDocument }
SchemaDocument ::= CHOICE {
module [RXER:ELEMENT-REF {
namespace-name "urn:ietf:params:xml:ns:asnx",
local-name "module" }] Markup,
schema [RXER:ELEMENT-REF {
namespace-name
"http://www.w3.org/2001/XMLSchema",
local-name "schema" }] Markup,
grammar [RXER:ELEMENT-REF {
namespace-name
"http://relaxng.org/ns/structure/1.0",
local-name "grammar" }] Markup,
dtd ExternalSubset }
ExternalSubset ::= UTF8String (CONSTRAINED BY {
-- contains an external DTD subset,
-- i.e., text conforming to
-- the extSubset production of XML -- })
schemaIdentityMatch MATCHING-RULE ::= {
SYNTAX SchemaIdentity
ID { iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1)
xmled(21472) ds(5) matchingRule(13) 0 } }
definitions ATTRIBUTE ::= {
WITH SYNTAX IdentifiedSchema
EQUALITY MATCHING RULE schemaIdentityMatch
USAGE directoryOperation
ID { iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1)
xmled(21472) ds(5) schemaOperationalAttribute(21) 0 } }
ENCODING-CONTROL RXER
SCHEMA-IDENTITY "urn:oid:1.3.6.1.4.1.21472.5.1.0"
TARGET-NAMESPACE "urn:ietf:params:xml:ns:xed-soa" PREFIX "soa"
END
Appendix B. ASN.X for XED Schema
This appendix is non-normative.
This appendix contains the ASN.X [ASN.X] translation of the
Legg & Prager Expires 29 February 2008 [Page 16]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
XED-SchemaOperationalAttributes module. Target namespaces are
assigned to the X.500 modules by the XED protocols specification
[XLDAP] to faciliate references to them from an ASN.X module.
<?xml version="1.0"?>
<asnx:module
xmlns:asnx="urn:ietf:params:xml:ns:asnx"
xmlns:soa="urn:ietf:params:xml:ns:xed-soa"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:rng="http://relaxng.org/ns/structure/1.0"
xmlns:if="http://xmled.info/ns/X.500/5/InformationFramework"
name="XED-SchemaOperationalAttributes"
identifier="1.3.6.1.4.1.21472.5.1.0"
schemaIdentity="urn:oid:1.3.6.1.4.1.21472.5.1.0"
targetNamespace="urn:ietf:params:xml:ns:xed-soa"
targetPrefix="soa"
extensibilityImplied="true">
<annotation>
Copyright (C) The IETF Trust (2007). This version of
this ASN.X module is part of RFC XXXX; see the RFC itself
for full legal notices.
Regarding this ASN.X module or any portion of it, the authors
make no guarantees and are not responsible for any damage
resulting from its use. The authors grant irrevocable permission
to anyone to use, modify, and distribute it in any way that does
not diminish the rights of anyone else to use, modify, and
distribute it, provided that redistributed derivative works do
not contain misleading author or version information.
Derivative works need not be licensed under similar terms.
</annotation>
<import name="UpperBounds"
identifier="5.1.10.5"/>
<import name="InformationFramework"
identifier="2.5.1.1.5"
schemaIdentity=
"http://xmled.info/id/X.500/5/InformationFramework"
namespace=
"http://xmled.info/ns/X.500/5/InformationFramework"/>
<namedType name="SchemaIdentity" type="asnx:AnyURI"/>
<namedType name="IdentifiedSchema">
<type>
<sequence>
Legg & Prager Expires 29 February 2008 [Page 17]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
<element name="identifier" type="soa:SchemaIdentity"/>
<optional>
<element name="description">
<type>
<expanded name="DirectoryString">
<module name="SelectedAttributeTypes" identifier="5.1.5.5"
schemaIdentity=
"http://xmled.info/id/X.500/5/SelectedAttributeTypes"/>
<type>
<prefixed>
<GSER>
<choiceOfStrings precedence="printableString uTF8String"/>
</GSER>
<type>
<union precedence="printableString uTF8String">
<member name="teletexString">
<type>
<constrained type="asnx:TeletexString">
<size>
<range>
<minInclusive literalValue="1"/>
<maxInclusive value="ub-schema"/>
</range>
</size>
</constrained>
</type>
</member>
<member name="printableString">
<type>
<constrained type="asnx:PrintableString">
<size>
<range>
<minInclusive literalValue="1"/>
<maxInclusive value="ub-schema"/>
</range>
</size>
</constrained>
</type>
</member>
<member name="bmpString">
<type>
<constrained type="asnx:BMPString">
<size>
<range>
<minInclusive literalValue="1"/>
<maxInclusive value="ub-schema"/>
</range>
</size>
Legg & Prager Expires 29 February 2008 [Page 18]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
</constrained>
</type>
</member>
<member name="universalString">
<type>
<constrained type="asnx:UniversalString">
<size>
<range>
<minInclusive literalValue="1"/>
<maxInclusive value="ub-schema"/>
</range>
</size>
</constrained>
</type>
</member>
<member name="uTF8String">
<type>
<constrained type="asnx:UTF8String">
<size>
<range>
<minInclusive literalValue="1"/>
<maxInclusive value="ub-schema"/>
</range>
</size>
</constrained>
</type>
</member>
</union>
</type>
</prefixed>
</type>
</expanded>
</type>
</element>
</optional>
<optional>
<element name="obsolete" type="asnx:BOOLEAN"/>
<default literalValue="false"/>
</optional>
<element name="document" type="soa:SchemaDocument"/>
</sequence>
</type>
</namedType>
<namedType name="SchemaDocument">
<type>
<choice>
<element ref="asnx:module" embedded="true"/>
Legg & Prager Expires 29 February 2008 [Page 19]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
<element ref="xsd:schema" embedded="true"/>
<element ref="rng:grammar" embedded="true"/>
<element name="dtd" type="soa:ExternalSubset"/>
</choice>
</type>
</namedType>
<namedType name="ExternalSubset">
<type>
<constrained type="asnx:UTF8String">
<constrainedBy>
contains an external DTD subset,
i.e., text conforming to
the extSubset production of XML
</constrainedBy>
</constrained>
</type>
</namedType>
<namedObject name="schemaIdentityMatch" class="if:MATCHING-RULE">
<object>
<field name="AssertionType" type="soa:SchemaIdentity"/>
<field name="id" literalValue="1.3.6.1.4.1.21472.5.13.0"/>
</object>
</namedObject>
<namedObject name="definitions" class="if:ATTRIBUTE">
<object>
<field name="Type" type="soa:IdentifiedSchema"/>
<field name="equality-match" object="soa:schemaIdentityMatch"/>
<field name="usage" literalValue="directoryOperation"/>
<field name="id" literalValue="1.3.6.1.4.1.21472.5.21.0"/>
</object>
</namedObject>
</asnx:module>
Authors' Addresses
Dr. Steven Legg
eB2Bcom
Suite 1, 85-87 Charles Street
Kew, Victoria 3103
AUSTRALIA
Phone: +61 3 9851 8630
Fax: +61 3 9851 8601
EMail: steven.legg@eb2bcom.com
Legg & Prager Expires 29 February 2008 [Page 20]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
Dr. Daniel Prager
EMail: dap@austhink.com
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Note to the RFC Editor: the remainder of this document is to be removed
before final publication.
Changes in Draft 01
Legg & Prager Expires 29 February 2008 [Page 21]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
An LDAP-specific encoding for the Identified DTD syntax has been
nominated.
The Directory XML Encoding Rules (DXER) have been renamed to the
Robust XML Encoding Rules (RXER).
Changes in Draft 02
The content of the definitions component of the IdentifiedDTD ASN.1
type has been changed from an XML prolog to an XML external DTD
subset. An external DTD subset is more general than the internal DTD
subset in an XML prolog, and is also more likely to be the form of a
DTD from which directory attribute syntaxes might be defined.
In examples, the root element in "transfer-rxer" encoded LDAP
attribute values has been changed from <item> to <value> in line with
the NamedType definitions in the latest draft for the LDAP protocol
(draft-ietf-ldapbis-protocol-24.txt).
Changes in Draft 03
The declarations and doctypedecls attributes have been replaced by
the definitions attribute.
The Identified DTD syntax has been removed. The Identified Schema
syntax has been revised and now covers DTDs.
The OBJECT IDENTIFIERs assigned throughout this document have been
replaced.
ASN.1 Schema has been renamed to Abstract Syntax Notation X (ASN.X)
and the <asnx:schema> element has been renamed to <asnx:module>.
Changes in Draft 04
The AnyType ASN.1 type has been renamed to Markup.
A description field and an obsolete field have been added to the
IdentifiedSchema type.
Changes in Draft 05
This specification has been downgraded from an intended category of
Proposed Standard to Experimental because the RXER and ASN.X
specifications on which it depends are in the Experimental category.
The SYNTAX-DEFINITION field has been changed to the
X-SYNTAX-DEFINITION field because this specification will now be
Legg & Prager Expires 29 February 2008 [Page 22]
INTERNET-DRAFT XED: Schema Operational Attributes August 30, 2007
classed as experimental.
A shorter, self-contained example has replaced the previous example
in Section 5.
Legg & Prager Expires 29 February 2008 [Page 23]
| PAFTECH AB 2003-2026 | 2026-04-24 05:46:55 |