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