xsl:for-each-group

Element Information

Model

xsl:sort* , (xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace')

Attributes

QName Type Fixed Default Use Inheritable Annotation
collation xs:anyURI optional
default-collation xsl:uri-list optional
exclude-result-prefixes xsl:prefix-list-or-all optional
extension-element-prefixes xsl:prefix-list optional
group-adjacent xsl:expression optional
group-by xsl:expression optional
group-ending-with xsl:pattern optional
group-starting-with xsl:pattern optional
select xsl:expression required
use-when xsl:expression optional
version xs:decimal optional
xpath-default-namespace xs:anyURI optional
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'

Source

<xs:element name="for-each-group" substitutionGroup="xsl:instruction">
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:versioned-element-type">
        <xs:sequence>
          <xs:element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="select" type="xsl:expression" use="required"/>
        <xs:attribute name="group-by" type="xsl:expression"/>
        <xs:attribute name="group-adjacent" type="xsl:expression"/>
        <xs:attribute name="group-starting-with" type="xsl:pattern"/>
        <xs:attribute name="group-ending-with" type="xsl:pattern"/>
        <xs:attribute name="collation" type="xs:anyURI"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

Sample