WG4's handling of DR-09-0248 - General: Removing the need for qualifiers on attributes in Strict

MURATA Makoto (FAMILY Given) eb2m-mrt at asahi-net.or.jp
Thu Jul 2 09:52:52 CEST 2009


Here are some new findings.   The more I study about the required
changes, the more pessimistic I become.

1. WML attributes in S

WML in Part 1 has 429 attribute definitions with qualified 
names.  Although the left column for these attribute definitions 
does not mention qualification, the right column contains 
examples of qualified attributes.

I believe that we have to rewrite all 429 definitions.  I 
do not think that one paragraph for reinterpreting the 
definitions is good enough.

I am quite sure that there are number of other examples having 
wml-qualified attributes in Part 1.  We need editing instructions 
for all of them.

Part 4 cannot borrow qualified attributes of WML as is.  WG4 assumed
that each of these attribute definitions in Part 1 has to be copied 
and rewritten in Part 4.  Jirka argues that a few paragraphs about 
this rewrite is good enough for now.  This is not unreasonable.

2. WML attributes specific to T

The following attribute defitions are specific to T.  
Since they are already defined in T, we do not have to 
do anything.

24,25c24,29
>   attribute w:val { w_ST_UcharHexNumber },
452a459,462
>   attribute w:left { w_ST_SignedTwipsMeasure }?,
>   attribute w:leftChars { w_ST_DecimalNumber }?,
>   attribute w:right { w_ST_SignedTwipsMeasure }?,
>   attribute w:rightChars { w_ST_DecimalNumber }?,
510a528,540
> w_AG_TransitionalPassword =
>   attribute w:cryptProviderType { s_ST_CryptProv }?,
>   attribute w:cryptAlgorithmClass { s_ST_AlgClass }?,
>   attribute w:cryptAlgorithmType { s_ST_AlgType }?,
>   attribute w:cryptAlgorithmSid { w_ST_DecimalNumber }?,
>   attribute w:cryptSpinCount { w_ST_DecimalNumber }?,
>   attribute w:cryptProvider { s_ST_String }?,
>   attribute w:algIdExt { w_ST_LongHexNumber }?,
>   attribute w:algIdExtSource { s_ST_String }?,
>   attribute w:cryptProviderTypeExt { w_ST_LongHexNumber }?,
>   attribute w:cryptProviderTypeExtSource { s_ST_String }?,
>   attribute w:hash { xsd:base64Binary }?,
>   attribute w:salt { xsd:base64Binary }?
590a628,630
>   attribute w:original { s_ST_String }?
1386a1443
>   attribute w:val { w_ST_Cnf }?,
1498c1559,1560
---
>   attribute w:val { w_ST_ShortHexNumber }?
1781c1904,1905
>   attribute w:val { w_ST_ShortHexNumber }?

3. Qualified attributes in other MLs

Apart from wml qualified attributes, Part1 introduces other 
qualified attributes (shown below).  If we want to make wml 
attributes unqualified, we have to be consistent.  I believe 
that those in shared-relationshipReference.rnc are qualified 
for a good reason, but the others are not.  

So, we have to rewrite 8 attribute definitions in Part 1.  
We again have to put some instructions for reinterpretation 
in Part 4.

shared-customXmlDataProperties.rnc: attribute ds:itemID
shared-customXmlDataProperties.rnc: attribute ds:uri
shared-customXmlSchemaProperties.rnc: attribute sl:manifestLocation
shared-customXmlSchemaProperties.rnc: attribute sl:schemaLanguage
shared-customXmlSchemaProperties.rnc: attribute sl:schemaLocation
shared-customXmlSchemaProperties.rnc: attribute sl:uri
shared-math.rnc: attribute m:alnAt
shared-math.rnc: attribute m:val
shared-relationshipReference.rnc: attribute r:blip
shared-relationshipReference.rnc: attribute r:bottomLeft
shared-relationshipReference.rnc: attribute r:bottomRight
shared-relationshipReference.rnc: attribute r:cs
shared-relationshipReference.rnc: attribute r:dm
shared-relationshipReference.rnc: attribute r:embed
shared-relationshipReference.rnc: attribute r:href
shared-relationshipReference.rnc: attribute r:id
shared-relationshipReference.rnc: attribute r:link
shared-relationshipReference.rnc: attribute r:lo
shared-relationshipReference.rnc: attribute r:pict
shared-relationshipReference.rnc: attribute r:qs
shared-relationshipReference.rnc: attribute r:topLeft
shared-relationshipReference.rnc: attribute r:topRight

4. Schema changes

As for XSD, we only have to replace  attributeFormDefault="qualified" 
by  attributeFormDefault="unqualified".  I can easily generate RELAX NG
schemas, but the editing instruction for changing the schema in 29500 is
another issue.  Since there are 429 attribute definitions in wml.rnc, 
we need 429 editing instructions.

Cheers,
Makoto



More information about the sc34wg4 mailing list