BUGS-MS.txt 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. This is MS.NET bug note. I confirmed them with version 1.1.
  2. In this document I refer to OASIS test suite (by test case name).
  3. It is located here:
  4. http://www.oasis-open.org/committees/documents.php?wg_abbrev=xslt
  5. No. 0001
  6. position() handling in predicates is incomplete. For example,
  7. see foo [position() mod 1 > 0] [position() > 3] [2] result
  8. (match_match19, match_match22 and match_match26)
  9. No. 0002
  10. Import precedence resolution on attribute sets are buggy if there are
  11. two imported stylesheets and both of them have identically-named
  12. attribute in the identically-named attribute sets. MS takes the one
  13. from the first stylesheet, but it must be the one from another.
  14. (attribset_attribset_45)
  15. No. 0003
  16. http://www.w3.org/1999/11/REC-xslt-19991116-errata/ E26 says that
  17. attribute sets are combined before use-attribute-set is replaced with
  18. the actual attributes. MS does not conform to this requirement.
  19. (attribset_attribset42)
  20. No. 0004
  21. String variable are not properly compared with strings (at least in
  22. some cases).
  23. (select_select67, select_select68, variable_variable24)
  24. No. 0005
  25. MS.NET misses some kind of whitespaces.
  26. (Text_78273 - Text_78276, Text_78281)
  27. No. 0006
  28. disable-output-escaping is not working when XmlWriter is specified as
  29. output. It affects on almost all output operations such as xsl:text,
  30. xsl:value-of, and so on.
  31. (Text_78308, Text_78311, Text_modified78308, Text_modified78309,
  32. Text_modified78311, output_output03, output_output06, output_output08,
  33. output_output46, output_output61, output_output62, output_output74,
  34. output_output75, Output_84432, Output_84433)
  35. No. 0007
  36. cdata-section-elements is not working when XmlWriter is specified as
  37. output, like disable-output-escaping.
  38. (output_output28 - output_output30, output_output41 - output_output43,
  39. output_output87, output_output88, output_output91 - output_output98,
  40. output_output101 - output_output107, Text_DoeWithCdataInText).
  41. No. 0008
  42. template "match" attribute does not allow variable reference.
  43. (match_match14)
  44. No. 0009
  45. variable references are rejected inside id() function, being said that
  46. "It either has a variable reference or key function."
  47. (idkey_idkey43)
  48. No. 0010
  49. id() does not consider the possibility that the argument might be a
  50. list string of IDs.
  51. (idkey_idkey57)
  52. No. 0011
  53. key() does not handle variable references.
  54. (idkey_idkey18, idkey_idkey50)
  55. No. 0012
  56. If "name" attribute of xsl:attribute is evaluated as to contain ':'
  57. (i.e. CName with non-empty prefix) and no matching xmlns declaration,
  58. MS.NET raises an error.
  59. (attribset_attribset15)
  60. No. 0013
  61. When XslTransform output is XmlWriter (not Stream), document()
  62. function is not working properly.
  63. (copy_copy27, namespace_namespace20, reluri_reluri09 -
  64. reluri_reluri11, XSLTFunctions_Bug76054, XSLTFunctions_Bug76984,
  65. XSLTFunctions_DocumentFuncWithEmptyArg, XSLTFunctions_DocumentInUnion,
  66. XSLTFunctions_DocumentInUnionWithDuplicateNodes,
  67. XSLTFunctions_DocumentFunctionNoArg)
  68. No. 0014
  69. Standard XSLT function unparsed-entity-uri() is not found.
  70. (expression_expression02)
  71. No. 0015
  72. XPath function boolean() treats empty result tree fragment as true.
  73. (XSLTFunctions_BooleanFunction)
  74. No. 0016
  75. If argument QName of element-available() function is expanded to
  76. have null namespace, it must return false. However MS.NET treats
  77. such one as XSLT instruction.
  78. (XSLTFunctions_ElementAvailFunctionTrue)
  79. No. 0017
  80. format-number() does not accept some patterns.
  81. (XSLTFunctions_specialCharInPattern)
  82. Not sure the reason why:
  83. idkey_idkey49
  84. impincl_impincl08
  85. From mdocs_mdocs01 to mdocs_mdocs18
  86. whitespace_whitespace35
  87. Notes:
  88. 1. Roman numbering
  89. MS.NET has "Oxford style" which for example converts 99 as
  90. XXXXXXXXXIX. It is not violating XSLT 1.0 spec. However, section
  91. 7.7.1 explicitly describes 4 and 9 as iv and ix, so the "strict"
  92. Oxford style violates the spec.
  93. 2. Name conflict in variables
  94. If there is a conflict between a template local variable and a
  95. for-each local variable, MS.NET raises an error. It is a spec bug
  96. that does not define the behavior (like "implementation MAY reort
  97. an error ..., or recover ...).
  98. 3. Indentation behavior difference
  99. Even if the xsl:output method is "xml", when indent="yes" is
  100. specified, the indentation behavior is different depending on the
  101. passed Transform() outout argument; TextWriter, or XmlTextWriter.
  102. Currently many of ConflictResolution tests comparison give us
  103. different results. We always use XmlTextWriter (which should be sane
  104. for <xsl:output method="xml" />), but with XmlTextWriter:
  105. XmlTextWriter w = new XmlTextWriter (Console.Out);
  106. w.Formatting = Formatting.Indented;
  107. w.WriteString ("- ");
  108. w.WriteStartElement ("Foo");
  109. w.WriteEndElement ();
  110. gives
  111. 1: -
  112. 2: <Foo />
  113. on both MS.NET and Mono, unlike those ConflictResolution tests expect:
  114. 1: - <Foo />
  115. So Microsft must have another writer for XML output, but I don't
  116. think that makes sense (at least it brings inconsistent indentation
  117. behavior).
  118. 4. namedtemplate_namedtemplate06
  119. The stylesheet must be rejected due to the restriction described in
  120. the spec 5.7. OASIS test suite currently contains REF_OUT but there
  121. should be no reference output.