ISO/IEC JTC 1/SC 34 N 1085
DATE: 2008-09-29
 

ISO/IEC JTC 1/SC 34
Document Description and Processing Languages
Secretariat: Japan (JISC)

DOC. TYPE Defect Report
TITLE Defect Report on ISO/IEC 19757-8: 2008, Information technology - Document Schema Definition Languages (DSDL) - Part 8: Document Semantics Renaming Language (DSRL)
SOURCE WG 1
PROJECT JTC 1.34.19757-8
STATUS This document is produced by WG 1 at its Jeju meeting. It is circulated to the SC 34 members for information.
ACTION ID FYI
DUE DATE  
DISTRIBUTION P, O and L Members of ISO/IEC JTC 1/SC 34 ; ISO/IEC JTC 1 Secretariat; ISO/IEC ITTF
ACCESS LEVEL Open
ISSUE NO. 43
FILE
NAME
SIZE (KB)
PAGES
1085.htm
 
 

Secretariat ISO/IEC JTC 1/SC 34 - IPSJ/ITSCJ (Information Processing Society of Japan/Information Technology Standards Commission of Japan)* Room 308-3, Kikai-Shinko-Kaikan Bldg., 3-5-8, Shiba-Koen, Minato-ku, Tokyo 105-0011 Japan *Standard Organization Accredited by JISC
Telephone: +81-3-3431-2808; Facsimile: +81-3-3431-6493; E-mail: kimura@itscj.ipsj.or.jp


Defect Report on DSRL

1. Descriptions common of all individual defects

Part 1
WG SECRETARIAT  
DATE CIRCULATED BY WG SECRETARIAT 2008-9-30
DEADLINE ON RESPONSE FROM EDITOR 2008-11-30
Part 2
SUBMITTER WG1
FOR REVIEW BY SC34
DEFECT REPORT CONCERNING ISO/IEC 19757-8

2. Individual defects

DEFECT REPORT NUMBER DPC-01
QUALIFIER change request
REFERENCES IN DOCUMENT Page 1, section 2
NATURE OF DEFECT A dated reference to XML 1.0 4th edition is given. XML 1.0 5th edition (draft) makes radical changes to the XML Name production that is referenced throughout this document. It may be preferable to reference an undated "latest" spec of XML rather than the fourth edition.
SOLUTION PROPOSED BY THE SUBMITTER Change to reference http://www.w3.org/TR/xml/
 
DEFECT REPORT NUMBER DPC-02
QUALIFIER clarification required
REFERENCES IN DOCUMENT Page 3 targetNamespace and targetSchemaLocation
NATURE OF DEFECT "schema" is used here without any qualification, it apparently means XSD (rather than Relax NG, which might be expected since this is part of dsdl) since targetNamespace is an essentially XSD notion. (Only needed because XSD schema documents (unlike Relax NG) are (a) restricted to a single namespace and (b) only have a loose coupling between names in the schema and the namespace qualified element names.
SOLUTION PROPOSED BY THE SUBMITTER Remove these attributes, or give a more complete description of their use.
 
DEFECT REPORT NUMBER DPC-03
QUALIFIER clarification required
REFERENCES IN DOCUMENT Page 4
it is recommended that the prefix used be declared in a namespace declaration that is declared as an attribute of the dsrl:from element.
NATURE OF DEFECT What prefix binding is used if this recommendation is not followed? (and it's almost impossible to follow this recommendation if the dsrl file is generated by a namespace aware system such as XSLT). One may assume that normal xml namespace rules apply and the nearest ancestor is used, and that it's an error if no binding is specified on an ancestor, but neither of these things is stated. Note xml namespaces, as written only defines namespace scope for element and attribute content and the applicability of these scoping rules to elemnt content varies with the system. schematron has its own namespace binding mechanism, xpath follows attribute rather than element naming conventions and doesn't use the default namespace.
SOLUTION PROPOSED BY THE SUBMITTER State explicitly that the namespace bindings in use for content of dsrl:from and similar elements are those in scope as specified by xml namespaces for element names. Remove the recommendation on the location of the namespace binding, since it has no effect and it is virtually impossible to comply with the recommendation if the dsrl file is generated by xslt r other namespace aware tools..
 
DEFECT REPORT NUMBER DPC-04
QUALIFIER clarification required
REFERENCES IN DOCUMENT Page 4
optional dsrl:parent element can be used to record XML Stylesheet Langauge Transformation (XSLT) patterns
NATURE OF DEFECT No explict refernce to which version of XSLT is allowed here is given, XSLT 2.0 is a normative reference, so I assume XSLT patterns (and thus xpath2 in predicates) is allowed. Is it legal to use pattern syntax from later versions of XSLT? Is conformant for a system to be based on XSLT1 and reject xpath2 syntax?
SOLUTION PROPOSED BY THE SUBMITTER Specify XSLT version 2.0 explictly (by using the defined reference to the existing normative reference to xslt 2.0
 
DEFECT REPORT NUMBER DPC-05
QUALIFIER change request
REFERENCES IN DOCUMENT Page 4
NOTE: This precedence rule allows the XSLT error recovery rule for matching paths using the last template defined to be applied when processing DSRL using XSLT.
NATURE OF DEFECT It is only optional that an XSLT system makes this recovery action, so the note could observe that it may be difficult to implementDSRL on systems that do not do that. (Or much better would be not to rely on this semantic).
SOLUTION PROPOSED BY THE SUBMITTER Remove the note and make it an error to define a self-conflicting map.
 
DEFECT REPORT NUMBER DPC-06
QUALIFIER clarification required
REFERENCES IN DOCUMENT Page 4
No two dsrl:attribute-map elements within a given dsrl:element-map can have the same value for their dsrl:from element.
NATURE OF DEFECT What is "value" here, it appears to mean the string value of the content of the element, but actually two elements with the same string value would not be a problem, if they were in different namespace scopes, and conversely a:x and b:x which have different string values do cause a problem if a: and b: map to the same namespace. here and throughout the document the specification needs to talk about the effective value of the QName, not just its lexical syntax.
SOLUTION PROPOSED BY THE SUBMITTER Rewrite this and similar texts occurring elsewhere to reflects the constraints that are implied by XSLT pattern matching, that refer to effective (expanded) qualified QNames, not the element context being an (unexpanded) prefixed name.
 
DEFECT REPORT NUMBER DPC-07
QUALIFIER clarification required
REFERENCES IN DOCUMENT Page 6
If an attribute has been declared to be an additional attribute by the addition of an additional="true" attribute to a dsrl:name element the attribute map shall contain a dsrl:default-value element.
NATURE OF DEFECT the relax schema for dsrl needs to restrict the additional attribute to true|false or (as a much less preferable alternative) the text needs to say the dsrl:name element shall be assigned an additional attribute with value true or 1.
SOLUTION PROPOSED BY THE SUBMITTER Retain this text (just giving a semantic for true) but change the schema in the annex to restrict the content to true|false.
 
DEFECT REPORT NUMBER DPC-08
QUALIFIER clarification required
REFERENCES IN DOCUMENT page 7
users of ISO/IEC 19757-2 can create a mapping rule
NATURE OF DEFECT I'm confused by that comment. ISO/IEC 19757-2 is Relax NG isn't it? Why can only uses of Relax NG use this feature of DSRL?
SOLUTION PROPOSED BY THE SUBMITTER Rewrite paragraph to clarify the intent of this statement.
 
DEFECT REPORT NUMBER DPC-09
QUALIFIER error
REFERENCES IN DOCUMENT Page 8
Mapping of enity names can
NATURE OF DEFECT Spelling
SOLUTION PROPOSED BY THE SUBMITTER entity
 
DEFECT REPORT NUMBER DPC-10
QUALIFIER clarification required
REFERENCES IN DOCUMENT Page 8
the renaming of entities may only be possible using a preprocess stage such as that described in Annex B
NATURE OF DEFECT It's not at all clear to me that the process in annex b achieves the simultaneous renaming of elements and entities as required by the text of this specification.
SOLUTION PROPOSED BY THE SUBMITTER The process in annex b needs to be able to implement this entity remapping. If (as seems likely) it proves not to be feasible to implement this mapping in an XSLT based system, then this entity renaming feature should be removed.
 
DEFECT REPORT NUMBER DPC-11
QUALIFIER omission
REFERENCES IN DOCUMENT Page 8
references to entities declared in a DSRL map can be processed by converting them to an XML document type definition
NATURE OF DEFECT

The specification says that the text must be converted to an XML entity declaration, but gives no indication how that is to be done.

There is no definition of the namespace context of the inserted text, or whether the markup (which the specification text, but not the schema) says must be CDATA-quoted, must be unquoted when making the entity)

If I have

<dsrl:from>zzz</dsrl:from>
<dsrl:replacement-text
   xmlns:a="a"><!CDATA[<a:b/>]]></dsrl:replacement-text>
or, if it is legal,
<dsrl:replacement-text
   xmlns:a="a"><a:b/></dsrl:replacement-text>
then what namespace does the inserted element belong to in
<foo>
<one xmlns:a="one">&zzz;</one>
<two xmlns:a="two">&zzz;</two>
</foo>

presumably two eleemnts with local name b are added, but are they in namespace "a", "one" or "two"? If the entity mechanism is to be implemented by converting the entity to the (namespace unaware) XML entity mechanism then presumably the namespace bindings in the dsrl file are ignored and whatever local context is in the target file is used, but this appears to be unspecified. It would be consistent with the rest of dsrl if the namespace context from the dsrl file were used, which could be achieved by forcing the namespace context into the XML entity definition so

<!ENTITY zzz '<a:b xmlns:a="a"/>'>
not
<!ENTITY zzz '<a:b/>'>
but either way the specification should say how the dsrl entity replacement is converted to an XML entity, not just that it must be done.
SOLUTION PROPOSED BY THE SUBMITTER Define what the legal content dsrl:replacement-text is (text or mixed content) and define what entity definition results from any legal dsrl construct.
 
DEFECT REPORT NUMBER DPC-12
QUALIFIER clarification required
REFERENCES IN DOCUMENT Page 9
Applications that do not support entity-mapping conformance shall support entity-definition conformance. This means that as well as being able to support all the compulsory components of a dsrl:maps element they shall also support the optional dsrl:define-entity methodology for defining entity declarations to be used in the result document of a DSRL map.
NATURE OF DEFECT I don't understand this paragraph at all. Given that you have to conform to one of the two conformance levels, and dsrl:define-entity is required to be supported at both those levels, in what sense is it optional? This appears to be a left over text from some time when this conformance level was not mandatory? making it mandatory when it is unimplementable in XSLT seems to put the whole DSRL spec at risk of never having a conforming implementation.
SOLUTION PROPOSED BY THE SUBMITTER Clarify the intent of this clause, preferbly by clarifying that both entity renaming and definition are optional. (If these features are kept at all).