- From: Paul Grosso <pgrosso@arbortext.com>
- Date: Wed, 26 Apr 2000 17:56:47 -0500
- To: xsl-editors@w3.org
- Message-Id: <3.0.32.20000426175640.0074fad0@pophost.arbortext.com>
1. The diagram at the end of 1.1 says "syntactically, [Result XML] is XML elements and attributes." This isn't accurate, as Result XML needn't syntactically be anything, it is a tree (or infoset) of objects. I suggest removing that whole sentence from the box in the graphic since it is erroneous and unnecessary given that the immediately following paragraph describes the result tree in proper terms. 2. The last diagram in 1.1.2 shows the generation of the area tree, but the arrow between the two trees is labelled "XSL Formatting Area Tree". Instead, it should just be labelled "XSL Formatting Area Tree Generation" or something, because the process isn't the area tree, it produces the Area tree. 3. In 1.2.1 Paging and Scrolling, in the para talking about the splitting up of the white-space property, it talks about a "line-feed" property that should be "linefeed-treatment". 4. In 3 Introduction to Formatting, second para, it says: "...traits, which are to areas what properties are to formatting objects and attributes are to XML nodes." I think the last word should be "elements", not "nodes" for the analogy to be in its clearest form. For example, note in section 4.1 we say "Each area has a set of traits, a mapping of names to values, in the way elements have attributes and formatting objects have properties." 5. In 4.1, the para after the first graphic, there is a sentence that reads in part "Traits whose values are copied from property of the same or a corresponding name are listed in [C Property Index]...." There appears to be a missing word in "copied from property". 6. In 4.3 Spaces and Conditionality, the first sentence lists the components of a space specifier as "minimum, optimum, and maximum, conditionality, and precedence." The "and" between optimum and maximum shouldn't be there, and may lead to confusion. 7. In 4.3.1 Space-resolution Rules, the second para of point 3, starts "Otherwise, when there are at two or more space-specifiers all of the same highest precedence...." I think "there are at two or more" should instead read "there are two or more" (delete "at"). Also, the example in that section starts with "Example. Suppose the sequence of space values occurring at the beginning of a reference-areas is:" That should be "of a reference area is" (reference-area shouldn't be pluralized). The penultimate paragraph of this section starts with "The padding of a block-area does not interact with the any space-specifier...." Problem with "the any". 8. In 4.3.1 Space-resolution Rules, I don't see (except where it is implied in the example) where it is said how the conditionality of the resolved space is determined or even if resolve space should have conditionality (since conditionality is really only relevant in the resolution process). Something needs to be said about this. 9. In 5.1.2, the penultimate sentence reads: However, there are some properties whose specified value may be inherited (e.g., the value for the "line-height" property). But this is not true for all values of the line-height property, only in the case where the value is a unitless number (giving a factor by which to multiple the font size). So I suggest this be reworded as follows: However, there are some properties whose specified value may be inherited (e.g., some values for the "line-height" property). 10. Twice in 5.3 and once in 5.3.1, "correspondance" -> "correspondence" (spello). 11. In 5.8.11 Lexical Structure, the first bullet point reads: If the character following an NCName (possibly after intervening ExprWhitespace ) is "(", then the token must be recognized as FunctionName. I would rather we deleted the parenthetical phrase. In most programming languages and other notations, if one puts whitespace between the name and the open paren, it is no longer recognized as a function call, and I think this behavior is more common and makes more sense and is more in keeping with the analogous case of putting space around minus (-) signs to avoid them being considered part of a name and requiring no space between numbers and unitnames. 12. Also in 5.8.11, last bullet point includes the word "numeric" but fails to tag it correctly. Since it is important here that "Numeric" (uppercase N) refers to the token in production 5 of our expression language, this needs to be retagged appropriately. 13. In 5.9.4 Property Value Functions, the inherited-property-value function returns the inherited value of the given property. I'd like to make it clearer just what is the inherited value. I suggest the following wording and example: The returned "inherited value" is the computed value of this property on this objects parent. In particular, given the following example: <fo:list-block> <fo:list-item color="red"> <fo:list-item-body background-color="green"> <fo:block background-color=inherited-property-value(color)> </fo:block> </fo:list-item-body> </fo:list-item> </fo:list-block> The background-color property on the fo:block is assigned the value "red" because the (computed, after inheritance) value of the color (not background-color) property on the fo:block that is the parent of fo:inline is "red". 14. In 5.9.4 Property Value Functions, under the proportional-column-width writeup, it says that "function returns proportional factor (the argument) units of proportional measure." Im having a bit of trouble parsing that sentence. I assume we're just saying that the function returns N units of proportional measure where N is the argument given to this function, and I would prefer some such wording. 15. In 5.9.4 with respect to proportional-column-width, we say that it is an "error to use this function on formatting objects other than an fo:table-column" but I don't see why we don't allow the use of this function anywhere within a table. For example, why couldn't someone want to set, say, indents within a table cell to some fraction of the proportional-column-width? Or perhaps make use of the proportional-column-width in an xsl-if test to decide what font-size to use somewhere or make some other decision? I'm not suggesting we allow the * syntax elsewhere, but since an implementor has to implement the proportional-column-width function and handle it when it is given within an expression in an attribute value on the fo:table-column FO, what's so hard about allowing that function in other expressions within the table. It sort of seemed like it might be more work to forbid such use than just allow it, and some users might find it useful. 16. In 5.10 Property Datatypes, the last sentence of the second para reads (typo): For example a the "space-before" property may be specified as: ^^^^^ 17. In 5.10 Property Datatypes, under the description of the short form, we say: Such a specification gives that value to each of the numeric components and the initial value to all the non-numeric components. But space-before.precedence is a numeric component, yet we want to use the initial value, not the given value, in this case. Therefore, instead of: A short form of compound value specification may be used, in cases where the datatype has some numeric components. Such a specification consists of giving a numeric value to an attribute with a name matching a property name. Such a specification gives that value to each of the numeric components and the initial value to all the non-numeric components. I suggest: A short form of compound value specification may be used in some cases. Such a specification consists of giving a single value to an attribute with a name matching a property name. Such a specification gives that value to some of the components and the initial value to other components. Each property description describes any allowable short form and how it affects that compound property. 18. In 5.10, our defn of the <name> datatype reads: A string of characters representing a name. It must not contain any whitespace, or space characters. First, saying whitespace or space characters seems odd/redundant. Second, is this really a proper defn? Aren't there lots of other characters that cannot be in a name? 19. In section 5.10 we define the datatype <uri> as: A sequence of characters conforming to a URI value as specified in the URI specification. but this is ambiguous and does not use standard terminology. I suggest we change it to read: A sequence of characters conforming to a relativeURI value as specified in [RFC 2396]. The term "relativeURI" is defined in section 5 of RFC2396. This would allow relative URIs without allowing fragment identifiers. Note that the <uri> datatype is used in XSL in section 7.36.7 as the type of the "src" property, and note that the <IMG> element's src attribute in HTML clearly allows relative URIs; see Section 6.4 URIs of the HTML 4.01 spec http://www.w3.org/TR/html401/types.html#type-uri which says: Relative URIs are resolved to full URIs using a base URI. [RFC1808], section 3, defines the normative algorithm for this process. (but note that RFC 2396 supercedes RFC 1808 now). 20. In the third from last para of "6.1.1 Definitions Common to Many Formatting Objects", there is a typo: Out-of-line areas are areas used outside the normal flow of text either because the are absolutely positioned ^^^ they 21. At the end of 6.2, we say (about float and footnote): The following "out-of-line" formatting objects may be used anywhere where #PCDATA, %block;, or %inline; are allowed: We should make this more accurate by appending: (except as a descendant of any "out-of-line" formatting objects) 22. In 6.3, we say: multi-switch The fo:multi-switch is used to switch between two or more sub-trees of formatting objects. This is not as clear as possible given the role of fo:multi-toggle in switching from one fo:multi-case to another. Maybe a better wording would be: multi-switch The fo:multi-switch wraps the specification of alternative sub-trees (each within an fo:multi-case) of formatting objects and controls the switching (activated via fo:multi-toggle) from one alternative to another. 23. In 6.3, we describe multi-case as: multi-case The fo:multi-case is used to embed flow objects, that the parent fo:multi-switch can choose to either show or hide. But that makes it sound like a multi-switch could show 3 cases and hide 4 which is not the case. Suggestion: multi-case The fo:multi-case is used to contain (within an fo:multi-switch) each alternative sub-tree of formatting objects among which the parent fo:multi-switch will choose one to show. 24. In 6.3, our current description of table-caption reads: table-caption The fo:table-caption formatting object is used to contain block-level formatting objects containing the caption for the table. As written, I fear people will think they must use this FO to get a caption on any table; however, in fact this FO is only allowed within fo:table-and-caption. Therefore, I think it would clear things up to augment the description to read as follows: table-caption The fo:table-caption formatting object is used to contain block-level formatting objects containing the caption for the table when using the fo:table-and-caption. 25. In 6.4.1.2 Page-masters, second para (typo): The page-viewport-area is defined by the output medium; the page-area holds the page contents and has the affect of positioning the page contents on the output medium. Change "affect" (which is a verb) to "effect" (which is the noun). 26. In 6.4.10 fo:repeatable-page-master-alternatives, the last sentence before "Contents" reads: If the conditions on all alternatives to extend a sub-sequence are false, then the sub-sequence may not be extended. I have no idea what this means, and a search for the word "extend" in what seemed like a similar context failed. This needs to be reworded to avoid the word "extend" or to explain what it means. 27. The example in 6.5.1.1.1 Chapter and Section Titles, Paragraphs isn't quite right. The input file and stylesheet don't really quite generate the result tree shown, and the input file isn't right for the discussion about spacing that follows it (e.g., "Space between the second paragraph of the first section and the title of the second section...", but the input file shown has two chapters but never two paragraphs in one section). I've attached an HTML version of a corrected section 6.5.1.1. 28. In 6.2, under Trait derivation, we say "The half-leading trait is set to 1/2 the computed value of the line-height property minus the font-size property." The "implicit parens" in that mathematical expression are ambiguous. I suggest instead "The half-leading trait is set to 1/2 the difference of the computed value of the line-height property and the font-size property." 29. In 6.6.5 fo:external-graphic, under common usage, we say "The fo:external-graphic flow object is used for an inline graphic where the graphics data resides outside of the fo:element tree." I'm not sure what to suggest, but the use of the term "inline graphic" in this sentence can be confusing, since we're talking about external graphics (residing outside the tree). The problem is that there are two uses of the term "inline", but I fear some readers will get confused by "external inline graphics". Maybe even just saying "inline-level graphic" if that works, or something else--I don't know. 30. In 6.6.5, we don't mention about wrapping fo:external-graphic in fo:block to produce a display graphic (though we do have such an example)--we do say the analogous thing for leaders and simple-links and such, so I recommend we add a Note saying: An fo:external-graphic can be wrapped in an fo:block to create a display graphic. 31. In 6.6.6 fo:instream-foreign-object, under Constraints, we say "See [6.6.5 fo:external-graphic]", but then under Contents, we repeat all of what was under Constraints in 6.6.5. I think what should be done is to move the 3rd para onwards from contents to constraints and to remove the reference to 6.6.5. 32. In 6.7.3 fo:table we say: inline-progression-dimension="auto" table-layout="fixed" The automatic table layout shall be used. This has been the discussion of some email from Norm et al. This has to change to say "The fixed table layout shall be used" to make sense and for CALS tables to work. It is an absolute requirement for me that XSL support the composition of CALS/OASIS Exchange tables. 33. In 6.7.5 fo:table-caption, I have the same comment here as I did in comment 20 above. We should reword the common usage to read: The fo:table-caption formatting object is used to contain block-level formatting objects containing the caption for the table when using the fo:table-and-caption. 34. In 6.7.10 fo:table-cell, I was surprised not to see any discussion of starts-row and ends-row. I realize these are properties and, as such, are discussed in section 7, but I think some mention of them in this section would be helpful. 35. In 6.8.1.1.1 Numbered List, the second para says: The style is to number the items alphabetically with a dot at the end of the number. however, I think most people will be confused by the phrase "numbered alphabetically" (I know I was). An acceptable phrase would be "enumerated alphabetically", so I suggest changing the sub-section title to "6.8.1.1.1 Enumerated List" and the second para to "The style is to enumerate the items alphabetically with a dot at the end of the letter." 36. In 6.9.1.1.2 Expandable/Collapsible Table of Contents, the input example includes: xlink:href="http://w3.org/TR" which has the wrong URL for the purposes described. Although it is just an example, it would be best to correct it to read: xlink:href="http://www.w3.org/TR" Likewise later in the XSL stylesheet for the same example and in the result instance (total of 3 occurrences). 37. In 6.9.2 fo:simple-link, the note reads: An fo:simple-link may be displayed by enclosing it in an fo:block. I fear the phrase "be displayed" is easily misinterpreted, so it might be better to reword this to be something more like: An fo:simple-link can be wrapped in an fo:block to create a display area. (which is a bit more like what we said for fo:leader). 38. In 6.9.3 fo:multi-switch, under Trait derivation, we say: The currently-visible-multi-case trait has as initial value a reference to the first fo:multi-case child that has a value of "show" of the starting-state trait. If there is no such child, it has a value indicating that there is no currently visible fo:multi-case. The trait value may be changed by actuating an fo:multi-toggle. My question is, if there is no multi-case child showing at all, then how can one actuate any fo:multi-toggle, as it seems to say with the last two sentences above. I suggest the following rewording: The currently-visible-multi-case trait has as initial value a reference to the first fo:multi-case child that has a value of "show" of the starting-state trait; if there is no such child, the trait takes on a value indicating that there is no currently visible fo:multi-case. When any fo:multi-toggle that is a child of this fo:multi-switch is actuated, this fo:multi-switch's currently-visible-multi-case trait value changes to refer to the fo:multi-case referred to by the actuated fo:multi-toggle's switch-to trait. 39. In 6.9.5 fo:multi-toggle (under constraints) we say: Activating an area returned by an fo:multi-toggle causes a change to the value of the currently-visible-multi-case of the closest fo:multi-switch. I think we should be more specific and say something like: Activating an area returned by an fo:multi-toggle causes the value of the currently-visible-multi-case trait of the parent fo:multi-switch to refer to the fo:multi-case selected via this fo:multi-toggle's switch-to trait. (See [7.30 "switch-to"] for how the switch-to value selects an fo:multi-case.) 40. In 6.11.3 fo:marker, we don't say that fo:marker has to be an initial child of its parent. We mention this everywhere else we talk about fo:marker, but it seems worth mentioning it in this section too. 41. In 7.3.1 "source-document" we say the value is: A list of space-separated URIs, indicating the XML document(s) used as input to the stylesheet. and add: This property provides a pointer back to the original XML document(s) used to create this formatting object tree. The "applies to" says "see prose", but I don't see in the prose where we say anything about what FOs it applies to (I assume it could apply to any FO). I have two concerns: (1) that this wording will imply that there is special XSL semantics with this value, either in terms of automatically setting a value for this property or in terms of validating the value, and (2) that the "pointer back" wording combined with "URI" will leave some readers thinking that this points back to the source element as opposed to the source document. In fact, although we say that this value is a URI, and not a URI reference. So I'd like to see some added wording such as: This property can be used by the stylesheet writer to provide a pointer back to the original XML document(s) used to create this formatting object tree, but that this is not validated by and has no inherent standardized semantics for any XSL processor. 42. In 7.6.2 "background-color", we say that XSL adds icc-color as a value of this property, but then there is no link to more discussion, and it seems there should be one to 5.9.2 Color Functions. 43. In 7.13.1 "hyphenation-keep", we list the initial value as "none", but that's not a value choice--I think we mean "auto" here. 44. In 7.13.10 "text-align-last", the value <string> says it: applies only to table cells. If set on other elements, it will be treated as "start". This isn't right, and in fact, I don't believe the <string> value is well defined or necessary, and I suggest we remove it from this property. 45. In 7.15.1 "color", we mention icc-color, but don't include a "see also" link there to 5.9.2 Color Functions as we probably should. 46. In 7.30 "switch-to", under xsl-preceding, we say: Activating the switch should result in that the current fo:multi-case is replaced by its preceding sibling. Odd wording there "should result in that"? Also, the last sentence here just before xsl-following starts with "It" when it should start with "If". Also, the same two comments apply to the xsl-following description. 47. In 7.34.6 "empty-cells", near the bottom of the CSS box, there is a mention of & where two &'s show--typo. 48. In 7.36.6 "score-spaces", both "applies to" and "percentages" says "see prose", but there is nothing in the prose.
Attachments
- text/html attachment: block-ex.htm
Received on Wednesday, 26 April 2000 18:56:52 UTC