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

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Abbreviated Tag Names




While tag/attribute name abbreviation can be done by
applications using various mechanisms such as Architectural
Forms, etc., my interest leans toward design time rather than
runtime.  For example, it would be immensely helpful in mCommerce
applications to have a standard abbreviated XML-DSIG, SOAP, ebXML,
XP tag names.  Rather than having ad-hoc abbreviations in the field,
I prefer the creator of these formats to propose abbreviated tag names
to be used in environments adverse to verbosity.

As an example, here is my initial draft of abbreviated XML-DSIG DTD.
In this version, same namespace is used for abbreviated names.

<!-- Abbreviated DTD for XML Signatures
     http://www.w3.org/2000/09/xmldsig# -->

<!ENTITY % Object.ANY '(#PCDATA|DS|P|MF)*'>
<!ENTITY % Method.ANY '(#PCDATA|HM)*'>
<!ENTITY % Transform.ANY '(#PCDATA|XPath|XSLT)*'>
<!ENTITY % Property.ANY '(#PCDATA)*'>
<!ENTITY % Key.ANY '(#PCDATA|KN|KV|RM| 
           XD|PD|MD|DV|RV)*'>

<!ELEMENT DS (SI, SV, KI?, OB*)  >
<!ATTLIST DS  
	xmlns	CDATA	#FIXED 'http://www.w3.org/2000/09/xmldsig#'
	i  	ID	#IMPLIED >

<!ELEMENT SV (#PCDATA)  >

<!ELEMENT SI (CM, SM,  R+)  >
<!ATTLIST SI  
	i	 ID 	 #IMPLIED 
 >

<!ELEMENT CM %Method.ANY; > 
<!ATTLIST CM 
	a CDATA #REQUIRED > 

<!ELEMENT SM %Method.ANY; >
<!ATTLIST SM 
	a CDATA #REQUIRED > 

<!ELEMENT R (Ts?, DM, DV)  >
<!ATTLIST R  
	i	ID	#IMPLIED
	h	CDATA	#IMPLIED
	t	CDATA	#IMPLIED>


<!ELEMENT Ts (T+)>

<!ELEMENT T %Transform.ANY; >
<!ATTLIST T 
	a    CDATA    #REQUIRED >

<!ELEMENT XPath (#PCDATA) >
<!ELEMENT XSLT (#PCDATA) >

<!ELEMENT DM %Method.ANY; >
<!ATTLIST DM  
	a		CDATA	#REQUIRED >

<!ELEMENT DV  (#PCDATA)  >

<!ELEMENT KI	%Key.ANY; >
<!ATTLIST KI  
	i	ID	 #IMPLIED >

<!ELEMENT KN	%Key.ANY; >
<!ELEMENT KV	%Key.ANY; >
<!ELEMENT MD	%Key.ANY; >

<!ELEMENT RM (Ts?) >
<!ATTLIST RM
   h	CDATA #REQUIRED 
   t	CDATA #IMPLIED > 

<!ELEMENT XD ((XIS | XS | XN | XC)+ | XCR)>
<!ELEMENT XIS (XIN, XSN) >
<!ELEMENT XIN (#PCDATA) >
<!ELEMENT XN (#PCDATA) >
<!ELEMENT XSN (#PCDATA) >
<!ELEMENT XS (#PCDATA) >
<!ELEMENT XC (#PCDATA) >
<!ELEMENT XCR (#PCDATA) >

<!-- X.509 Data -->

<!ELEMENT PD (PK, PP)  >
<!ELEMENT PP  (#PCDATA)  >
<!ELEMENT PK  (#PCDATA)  >

<!-- Extensible Content -->

<!ELEMENT OB %Object.ANY; >
<!ATTLIST OB  
	i	ID	#IMPLIED 
	mt	CDATA	#IMPLIED 
	ec	CDATA	#IMPLIED >

<!ELEMENT MF (R+)  >
<!ATTLIST MF  
	i	ID	#IMPLIED >

<!ELEMENT Ps (P+)  >
<!ATTLIST Ps  
	i	ID	 #IMPLIED  >

<!ELEMENT P %Property.ANY >
<!ATTLIST P  
	tg 	CDATA	 #REQUIRED
	i	ID	 #IMPLIED  >

<!-- a Parameters -->

<!ELEMENT HM (#PCDATA) >

<!ELEMENT DV (P, Q, G, Y, J?, (Sd, PC)?) > 
<!ELEMENT P (#PCDATA) >
<!ELEMENT Q (#PCDATA) >
<!ELEMENT G (#PCDATA) >
<!ELEMENT Y (#PCDATA) >
<!ELEMENT J (#PCDATA) >
<!ELEMENT Sd (#PCDATA) >
<!ELEMENT PC (#PCDATA) >

<!ELEMENT RV (M, E) > 
<!ELEMENT M (#PCDATA) >
<!ELEMENT E (#PCDATA) >