diff --git a/schema/xmlspec.dtd b/schema/xmlspec.dtd index 982179976..76174248f 100644 --- a/schema/xmlspec.dtd +++ b/schema/xmlspec.dtd @@ -398,6 +398,18 @@ ]]> + + + + + + + @@ -407,6 +419,7 @@ #1999-07-02: maler: Added doctype atts and status att. #2000-03-07: maler: Added cr, issues, and dispcmts to w3c-doctype. #2011-01-20: Jim Melton: Added per and wgnote to w3c-doctype. +#2024-04-13: Michael Kay: Added optional changes element after head. --> @@ -481,7 +494,7 @@ + ]]> + ]]> + ]]> + ]]> + ]]> + ]]>
Change Log -The following changes have been made to this document since the +
The following substantive changes have been made to this document since the
This document defines the &language;,
which is the data model of
The three atomic types xs:anyAtomicType
,
xs:dayTimeDuration
, and
@@ -1006,6 +1016,12 @@ size and scope of the processing context.
xs:string
.
+ Some of the types defined in XML Schema have differing definitions
in XSD 1.0 and XSD 1.1; furthermore, some types are defined by
@@ -1245,6 +1261,11 @@ negative zero or to positive zero in the value space.
This specification defines the syntax and semantics of the XSLT 4.0 language. XSLT 4.0 requires support for XPath 4.0. A full list of changes is at
main-module
, is added to the version="1.0"
otherwise.
fixed-namespaces
Attribute
+
+ fixed-namespaces
attribute making it easier to have the same
+ namespace declarations in force throughout a stylesheet.
+ The fixed-namespaces
attribute, if present, defines the
version="1.0"
otherwise.
xsl:version
attribute
+ (which means they might not need a declaration of the XSLT namespace). Unless otherwise
+ specified, a 4.0 simplified stylesheet defaults expand-text
to true
.
+ A simplified syntax is allowed for a version="1.0"
otherwise.
xsl:note
element
+
+ An
The element may have any attributes and any children, subject only to rules imposed by
@@ -8253,6 +8190,16 @@ and version="1.0"
otherwise.
The facilities described in this section are not available with a version="1.0"
otherwise.
match="record(longitude, latitude, *)"
+ matches any map that includes the key values "longitude"
+ and "latitude"
.
+ version="1.0"
otherwise.
An version="1.0"
otherwise.
separator
that can be
+ used to insert content between adjacent items. [This change was in the
+ editor's draft adopted as a baseline when the WG commenced work.]
+ The version="1.0"
otherwise.
as="sequence-type"
which declares the return type of
+ all template rules in that mode.
+ version="1.0"
otherwise.
xsl:mode
element.
+ This is intended to allow a stylesheet design in which it is easier to
+ determine which rules might apply to a given version="1.0"
otherwise.
shallow-copy-all
is introduced.
+ When an item is
selected by version="1.0"
otherwise.
xsl:for-each
instruction
+
+ separator
that can be
+ used to insert content between adjacent items. [This change was in the
+ editor's draft adopted as a baseline when the WG commenced work.]
+ The attributes select
, array
, and map
are mutually exclusive: exactly one of these three attributes must be present.
version="1.0"
otherwise.
There are several instructions in XSLT that support conditional processing:
version="1.0"
otherwise.
Further conditional constructs are also under development for XPath 4.0. [TODO: elaborate on this when complete.]
then
and else
+ attributes.
+ The test
attribute,
whose value is an version="1.0"
otherwise.
xsl:otherwise
elements can take a select
attribute
+ in place of a sequence constructor.
+ version="1.0"
otherwise.
The select
attribute of the version="1.0"
otherwise.
The optional required
attribute of
version="1.0"
otherwise.
As an alternative to the use of
version="1.0"
otherwise.
version="1.0"
otherwise.
namespace
attribute, it is a name
attribute is a xsl:for-each-group/@split-when
is available to
+ give applications more complete control over how a sequence is partitioned
+ The facilities described in this section are designed to allow items in a sequence to be
grouped based on common values; for example it allows grouping of elements having the
same value for a particular attribute, or elements with the same name, or elements with
@@ -25331,6 +25394,15 @@ the same group, and the-->
The This section describes XSLT-specific additions to the XPath function library. Some of these
additional functions also make use of
information specified by This section describes what happens when two or more maps returned by the sequence constructor
within an Arrays are defined in the XDM Data Model. The instruction If the XSLT allows two kinds of extension, extension instructions and extension functions.
In XSLT 4.0 it is possible to use extension instructions to invoke named templates: see
+ A namespace is designated as an extension namespace by using an
@@ -36672,6 +36805,15 @@ return ($m?price - $m?discount)
The It is possible to control the xsl:analyze-string
Instruction
+
+ select
attribute
+ in place of a contained sequence constructor.
+ capture
attribute is intended primarily for use with streamable accumulators, but
in the interests of consistency, it has the same effect both for streamable and non-streamable
accumulators. If an accumulator rule with phase="end"
specifies capture="yes"
,
@@ -34841,6 +34921,18 @@ the same group, and the-->
xs:QName
value instead.
+ [This change was in the editor's draft accepted by the WG as its baseline when
+ it started work.]
+ xsl:map/@on-duplicates
is available,
+ allowing control over how duplicate keys are handled by the use
attribute is omitted, the resulting
@@ -36418,6 +36526,19 @@ return ($m?price - $m?discount)
xs:QName
value instead.
+ [This change was in the editor's draft accepted by the WG as its baseline when
+ it started work.]
+ escape-solidus
is provided to control
+ whether the character /
is escaped as \/
by the
+ JSON serialization method.
+ type
and validation
attributes of the
@@ -37750,6 +37904,15 @@ return ($m?price - $m?discount)
escape-solidus
is provided to control
+ whether the character /
is escaped as \/
by the
+ JSON serialization method.
+ A
A The following sections list changes in successive drafts of this specification. Errata agreed against XSLT 3.0 have been applied. Support for XPath 4.0 and Functions and Operators 4.0 is required. This notably
- means that support for XDM arrays is now required. The The A new The The default namespace for element names and the default namespace for types can now be
- different, allowing built-in types to be referenced in unprefixed form ( The new instruction New pattern syntax ( The The The The Enclosing modes: The Functions that accept a lexical QName as an argument, such as A serialization parameter The proposed The descriptions of basic data types for attributes now avoid using the term
- The rules for Support for higher-order functions is now mandatory (in XSLT 3.0 it was an optional feature). An A new attribute, The Simplified stylesheets no longer require an A new set of built-in template rules is introduced, invoked using
- The streamability rules for accumulators have been relaxed, so that the The The rules concerning the compatibility of schemas imported by different packages
- have been clarified. It is now explicitly stated that instructions that trigger validation
- must use the imported schema of the package in which validation is invoked. This differs
- from the current practice of some XSLT 3.0 processors, which may use (for example) a schema
- formed from the union of the imported schemas in all packages.then
and else
.select
expression rather than a contained sequence constructor.as="integer"
).type(T)
, record(N, M, N)
)
- allows matching of items by item type.as="sequence-type"
which
- declares the return type of all template rules in that mode.separator
attribute to allow separators to be inserted into the output.on-duplicates
.xs:QName
value instead.escape-solidus
has been added, for use
- in JSON serialization.array
and map
attributes of
- array:members
and map:key-value-pairs
.mode
attribute to the enclosing mode.main-module
, is defined on select
attribute
- in place of a contained sequence constructor.xsl:version
attribute
- (which means they might not need a declaration of the XSLT namespace). Unless otherwise
- specified, a 4.0 simplified stylesheet defaults expand-text
to true
.<xsl:mode on-no-match="shallow-copy-all">
. This is designed to allow rule-based recursive
- transformation of JSON data structures (trees of maps and arrays) to work in the same way as with
- XML-derived data structures.phase="end"
- processing has access to the full subtree of the matched node.version
attribute is the version of XSLT supported
- by the processor, so that the
A number of new kinds of ItemType are introduced, for example union types, +
A number of new kinds of ItemType are introduced, for example choice item types, record types, and enumeration types.
Further work is needed in the following areas:
-Streamability implications of new constructs
Details of error codes
Default priorites for new kinds of pattern
Add built-in template rules suitable for JSON processing
Default namespace for elements: allow matching on local-name only, - or on “XHTML or nothing”.
Completing the XSD and RNG schemas for stylesheet modules.
The functions xs:string
to (xs:string | xs:QName)
.
- This change means that certain non-string values are no longer accepted:
- for example xs:anyURI
values or
- (with xs:boolean
or xs:duration
values. This is highly
- unlikely to arise in practical code.
Where different packages import different schemas, the specification is now more + prescriptive about which schema is used for validation. The rules may differ from + the conventions adopted by implementations of XSLT 3.0.
+See also
This document defines serialization of the W3C XQuery and XPath Data Model 4.0 (XDM), @@ -628,6 +633,11 @@ nodes.
escape-solidus
parameter for JSON serialization.
+ There are a number of parameters that influence how serialization
is performed.
meta
elements have been revised to take account of the new HTML5 syntax,
+ for example <meta charset="utf-8">
.
+ The XHTML output method serializes the
The HTML output method serializes
+ The HTML output method serializes
the For example, the following XSL stylesheet generates html output,meta
elements have been revised to take account of the new HTML5 syntax,
+ for example <meta charset="utf-8">
.
escape-solidus
parameter for JSON serialization.
+ The JSON output method serializes the
For some item types the Adaptive output method will delegate serialization to other output methods.
@@ -4350,1023 +4351,10 @@ the mechanism described in This appendix lists changes made in version 4.0 of this specification. In the HTML and XHTML output methods, the rules for adding and replacing
-
+ PR {@PR}
+ See escape-solidus
parameter for JSON serialization.
+ meta
elements have been revised to take account of the new HTML5 syntax,
- for example <meta charset="utf-8">
.
+
+