@@ -238,15 +238,14 @@ <h2><a name=contents>Table of contents</a></h2>
238238 < li class ="tocline3 "> < a href ="#grammar "> 10.1. Grammar</ a >
239239 < li class ="tocline3 "> < a href ="#lex "> 10.2. Lexical scanner</ a > </ li >
240240 </ ul >
241- < li class ="tocline2 "> < a href ="#downlevel "> 11. Namespaces and down-level clients</ a >
242- < li class ="tocline2 "> < a href ="#profiling "> 12. Profiles</ a >
243- < li > < a href ="#Conformance "> 13. Conformance and requirements</ a >
244- < li > < a href ="#Tests "> 14. Tests</ a >
245- < li > < a href ="#ACKS "> 15. Acknowledgements</ a >
246- < li class ="tocline2 "> < a href ="#references "> 16. References</ a >
241+ < li class ="tocline2 "> < a href ="#profiling "> 11. Profiles</ a >
242+ < li > < a href ="#Conformance "> 12. Conformance and requirements</ a >
243+ < li > < a href ="#Tests "> 13. Tests</ a >
244+ < li > < a href ="#ACKS "> 14. Acknowledgements</ a >
245+ < li class ="tocline2 "> < a href ="#references "> 15. References</ a >
247246 < ul class ="toc ">
248- < li class ="tocline3 "> < a href ="#normative-references "> 16 .1. Normative References</ a >
249- < li class ="tocline3 "> < a href ="#informative-references "> 16 .2. Informative References</ a > </ li >
247+ < li class ="tocline3 "> < a href ="#normative-references "> 15 .1. Normative References</ a >
248+ < li class ="tocline3 "> < a href ="#informative-references "> 15 .2. Informative References</ a > </ li >
250249 </ ul >
251250 </ ul >
252251
@@ -2632,133 +2631,7 @@ <h3><a name=lex>10.2. Lexical scanner</a></h3>
26322631
26332632. return *yytext;</ pre >
26342633
2635-
2636-
2637- < h2 > < a name =downlevel > 11. Namespaces and down-level clients</ a > </ h2 >
2638-
2639- < p > < em > This section is informative (non-normative).</ em > </ p >
2640-
2641- < p > An important issue is the interaction of Selectors with XML
2642- documents in Web clients that were produced prior to this
2643- document. Unfortunately, due to the fact that namespaces must be
2644- matched based on the URI which identifies the namespace, not the
2645- namespace prefix, some mechanism is required to identify namespaces in
2646- Selectors by their URI as well. Without such a mechanism, it is impossible
2647- to construct, e.g., a CSS style sheet which will properly match selectors in
2648- all cases against a random set of XML documents. However, given
2649- complete knowledge of the XML document to which a style sheet is to be
2650- applied, and a limited use of namespaces within the XML document, it
2651- is possible to construct a style sheet in which selectors would match
2652- elements and attributes correctly.</ p >
2653-
2654- < p > It should be noted that a down-level CSS client will (if it
2655- properly conforms to CSS forward compatible parsing rules) ignore all
2656- < code > @namespace</ code > at-rules, as well as all style rules that make
2657- use of namespace qualified element type or attribute selectors. The
2658- syntax of delimiting namespace prefixes in CSS was deliberately chosen
2659- so that down-level CSS clients would ignore the style rules rather
2660- than possibly match them incorrectly.</ p >
2661-
2662- < p > The use of default namespaces in CSS makes it possible to write
2663- element type selectors that will function in both namespace aware CSS
2664- clients as well as down-level clients. It should be noted that
2665- down-level clients may incorrectly match selectors against XML
2666- elements in other namespaces.</ p >
2667-
2668- < p > The following are scenarios and examples in which it is possible to
2669- construct style sheets which would function properly in web clients
2670- that do not implement this proposal.</ p >
2671-
2672- < ol >
2673- < li >
2674-
2675- < p > The XML document does not use namespaces.</ p >
2676-
2677- < ul >
2678-
2679- < li > In this case, it is obviously not necessary to declare or use
2680- namespaces in the style sheet. Standard CSS element type and
2681- attribute selectors will function adequately in a down-level
2682- client.</ li >
2683-
2684- < li > In a CSS namespace aware client, the default behavior of
2685- element selectors matching without regard to namespace will
2686- function properly against all elements, since no namespaces are
2687- present. However, the use of specific element type selectors that
2688- match only elements that have no namespace ("< code > |name</ code > ")
2689- will guarantee that selectors will match only XML elements that do
2690- not have a < a href ="#nsdecl "> declared</ a > namespace. </ li >
2691-
2692- </ ul >
2693-
2694- </ li >
2695-
2696- < li >
2697-
2698- < p > The XML document defines a single, default namespace used
2699- throughout the document. No namespace prefixes are used in element
2700- names.</ p >
2701-
2702- < ul >
2703-
2704- < li > In this case, a down-level client will function as if
2705- namespaces were not used in the XML document at all. Standard CSS
2706- element type and attribute selectors will match against all
2707- elements. </ li >
2708-
2709- </ ul >
2710-
2711- </ li >
2712-
2713- < li >
2714-
2715- < p > The XML document does < b > not</ b > use a default namespace, all
2716- namespace prefixes used are known to the style sheet author, and
2717- there is a direct mapping between namespace prefixes and namespace
2718- URIs. (A given prefix may only be mapped to one namespace URI
2719- throughout the XML document; there may be multiple prefixes mapped
2720- to the same URI).</ p >
2721-
2722- < ul >
2723-
2724- < li > In this case, the down-level client will view and match
2725- element type and attribute selectors based on their fully
2726- qualified name, not the local part as outlined in the < a
2727- href ="#typenmsp "> Type selectors and Namespaces</ a > section.
2728- Selectors may be declared using an escaped colon "< code > \:</ code > "
2729- to describe the fully qualified names, e.g.
2730- "< code > html\:h1</ code > " will match
2731- < code > <html:h1></ code > . Selectors using the qualified name
2732- will only match XML elements that use the same prefix. Other
2733- namespace prefixes used in the XML that are mapped to the same URI
2734- will not match as expected unless additional CSS style rules are
2735- declared for them.</ li >
2736-
2737- < li > Note that selectors declared in this fashion will
2738- < em > only</ em > match in down-level clients. A CSS namespace aware
2739- client will match element type and attribute selectors based on
2740- the name's local part. Selectors declared with the fully
2741- qualified name will not match (unless there is no namespace prefix
2742- in the fully qualified name).</ li >
2743-
2744- </ ul >
2745-
2746- </ li >
2747-
2748- </ ol >
2749-
2750- < p > In other scenarios: when the namespace prefixes used in the XML are
2751- not known in advance by the style sheet author; or a combination of
2752- elements with no namespace are used in conjunction with elements using
2753- a default namespace; or the same namespace prefix is mapped to
2754- < em > different</ em > namespace URIs within the same document, or in
2755- different documents; it is impossible to construct a CSS style sheet
2756- that will function properly against all elements in those documents,
2757- unless, the style sheet is written using a namespace URI syntax (as
2758- outlined in this document or similar) and the document is processed by
2759- a CSS and XML namespace aware client.</ p >
2760-
2761- < h2 > < a name =profiling > 12. Profiles</ a > </ h2 >
2634+ < h2 > < a name =profiling > 11. Profiles</ a > </ h2 >
27622635
27632636< p > Each specification using Selectors must define the subset of
27642637Selectors it allows and excludes, and describe the local meaning of
@@ -2869,7 +2742,7 @@ <h2><a name=profiling>12. Profiles</a></h2>
28692742 < li > fragment descriptions that appear on the right side of declarations.
28702743</ li > </ ol > </ div >
28712744
2872- < h2 > < a name =Conformance > </ a > 13 . Conformance and requirements</ h2 >
2745+ < h2 > < a name =Conformance > </ a > 12 . Conformance and requirements</ h2 >
28732746
28742747< p > This section defines conformance with the present specification only.
28752748
@@ -2908,15 +2781,15 @@ <h2><a name=Conformance></a>13. Conformance and requirements</h2>
29082781href="#refsUNICODE">[UNICODE]</a> and apply to implementations of this
29092782specification.</p>-->
29102783
2911- < h2 > < a name =Tests > </ a > 14 . Tests</ h2 >
2784+ < h2 > < a name =Tests > </ a > 13 . Tests</ h2 >
29122785
29132786< p > This specification has < a
29142787href ="http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/ "> a test
29152788suite</ a > allowing user agents to verify their basic conformance to
29162789the specification. This test suite does not pretend to be exhaustive
29172790and does not cover all possible combined cases of Selectors.</ p >
29182791
2919- < h2 > < a name =ACKS > </ a > 15 . Acknowledgements</ h2 >
2792+ < h2 > < a name =ACKS > </ a > 14 . Acknowledgements</ h2 >
29202793
29212794< p > The CSS working group would like to thank everyone who has sent
29222795comments on this specification over the years.</ p >
@@ -2926,13 +2799,13 @@ <h2><a name=ACKS></a>15. Acknowledgements</h2>
29262799Brower who performed the final editorial review of the last call
29272800draft. The working group would also like to thank Adam Kuehn, Boris
29282801Zbarsky, David Perrell, Elliotte Harold, Matthew Raymond, Ruud
2929- Steltenpool, Patrick Garies,
2802+ Steltenpool, Patrick Garies, Anton Prowse,
29302803and the W3C Internationalization Working Group for their
29312804last call comments and kind words.</ p >
29322805
2933- < h2 > < a name =references > 16 . References</ a > </ h2 >
2806+ < h2 > < a name =references > 15 . References</ a > </ h2 >
29342807
2935- < h3 > < a name =normative-references > 16 .1 Normative References</ a > </ h3 >
2808+ < h3 > < a name =normative-references > 15 .1 Normative References</ a > </ h3 >
29362809
29372810< dl class ="refs ">
29382811
@@ -2957,7 +2830,7 @@ <h3><a name=normative-references>16.1 Normative References</a></h3>
29572830
29582831</ dl >
29592832
2960- < h3 > < a name =informative-references > 16 .2 Informative References</ a > </ h3 >
2833+ < h3 > < a name =informative-references > 15 .2 Informative References</ a > </ h3 >
29612834
29622835< dl class ="refs ">
29632836
0 commit comments