Freigeben über


<xsl:number>-Element

Fügt eine formatierte Zahl in die Ergebnisstruktur ein.

<xsl:number
  level = "single" | "multiple" | "any"
  count = Pattern
  from = Pattern
  value = number-expression
  format = { string }
  lang = { nmtoken }
  letter-value = { "alphabetic" | "traditional" }
  grouping-separator = { char }
  grouping-size = { number } />

Attribute

  • level
    Dadurch wird angegeben, welche Ebenen der Quellstruktur berücksichtigt werden sollen. Es existieren die Werte "single", "multiple" und "any". Der Standardwert ist "single".
  • count
    Ein Muster, das angibt, welche Knoten auf diesen Ebenen gezählt werden sollen. Wenn das count-Attribut nicht angegeben ist, wird als Standard das Muster verwendet, das einem beliebigen Knoten mit demselben Knotentyp wie der aktuelle Knoten entspricht. Wenn der aktuelle Knoten über einen erweiterten Namen verfügt, wird das Muster als Standard verwendet, das einem Knoten mit demselben erweiterten Namen wie der aktuelle Knoten entspricht.
  • from
    Ein Muster, mit dem angegeben wird, wo die Zählung beginnt.
  • value
    Gibt den Ausdruck an, der in eine Zahl konvertiert werden und an eine Ergebnisstruktur ausgegeben werden soll. Wenn kein value-Attribut angegeben ist, fügt das <xsl:number>-Element eine auf die Position des aktuellen Knotens in der Quellstruktur basierende Zahl ein.
  • format
    Eine Folge von Token, die das für jede Zahl in der Liste zu verwendende Format angeben. Wenn keine Formattoken vorhanden sind, wird der Standardwert 1 verwendet. Er generiert die Folge 1 2 ... 10 11 12.... Jede auf die erste Zahl folgende Zahl wird von der vorherigen Zahl getrennt. Dies geschieht mithilfe des Trennzeichentokens, das dem zum Formatieren der Zahl verwendeten Formattoken vorausgeht. Wenn keine Trennzeichentoken vorhanden sind, wird ein Punkt (".") verwendet.

    Formattoken Generierte Sequenz

    1

    1 2 3 4 5 ... 10 11 12 ...

    01

    01 02 03 ... 19 10 11 ... 99 100 101...

    A

    A B C ... Z AA AB AC...

    i

    i ii iii iv v vi vii viii ix x...

    I

    I II III IV V VI VII VIII IX X...

  • lang
    Gibt an, welches Alphabet (d. h. welche Sprache) verwendet wird. Wenn kein lang-Wert angegeben ist, wird die Sprache der Systemumgebung verwendet.
  • letter-value
    Unterscheidet zwischen Nummerierungsfolgen, in denen Buchstaben verwendet werden. Eine Nummerierungsfolge weist Buchstaben in alphabetischer Reihenfolge numerische Werte zu, die andere weist jedem Buchstaben auf eine für die Sprache übliche Weise numerische Werte zu. Im Englischen entspricht dies den von den Formattoken "a" und "i" angegebenen Nummerierungsfolgen. In einigen Sprachen ist der erste Member jeder Folge derselbe. Daher wäre das Formattoken allein mehrdeutig. Ein Wert "alphabetic" gibt die alphabetische Folge an, und ein Wert "traditional" gibt die andere Folge an. Der Standardwert ist "alphabetic".
  • grouping-separator
    Gibt das als Gruppierungstrennzeichen (z. B. Tausender) verwendete Trennzeichen in dezimalen Nummerierungsfolgen an. Beispielsweise erzeugen grouping-separator="," und grouping-size="3" Zahlen der Form 1,000,000. Wenn nur das grouping-separator-Attribut oder das grouping-size-Attribut angegeben ist, wird es ignoriert.
  • grouping-size
    Gibt die Größe (i. d. R. 3) der Gruppierung an. Beispielsweise erzeugen grouping-separator="," und grouping-size="3" Zahlen der Form 1,000,000. Wenn nur das grouping-separator-Attribut oder das grouping-size-Attribut angegeben ist, wird es ignoriert.

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:template, xsl:variable, xsl:when, xsl:with-param, Ausgabeelemente

Untergeordnete Elemente

(Keine untergeordneten Elemente)

Hinweise

Die einzufügende Zahl wird durch einen im value-Attribut enthaltenen Ausdruck angegeben. Der Ausdruck wird ausgewertet, und das resultierende Objekt wird in eine Zahl konvertiert. Die Zahl wird auf eine ganze Zahl aufgerundet, anschließend in eine Zeichenfolge konvertiert und in die Ergebnisstruktur eingefügt.

Das <xsl:number>-Element erstellt zunächst mithilfe der Attribute level, count und from eine Liste der positiven ganzen Zahlen.

  • Beim Wert level="single" sucht das Element den ersten Knoten in der ancestor-or-self-Achse, der dem Zählmuster entspricht. Dann wird eine Liste der Länge 1 erstellt. Darin sind ein Knoten plus die Anzahl von vorhergehenden nebengeordneten Knoten dieses übergeordneten Knotens enthalten, die dem Zählmuster entsprechen. Wenn ein solcher übergeordneter Knoten nicht vorhanden ist, wird eine leere Liste erstellt. Wenn das from-Attribut angegeben ist, wird nur nach den übergeordneten Knoten gesucht, die wiederum untergeordnete Knoten des nächsten übergeordneten Knotens darstellen, der dem from-Muster entspricht. Vorhergehende nebengeordnete Elemente haben dieselbe Bedeutung wie bei der preceding-sibling-Achse.

  • Beim Wert level="multiple" erstellt das Element eine Liste mit allen in der Dokumentreihenfolge übergeordneten Knoten des aktuellen Knotens, die vom Element selbst gefolgt werden. Es wählt aus der Liste dann die Knoten aus, die dem Zählmuster entsprechen und ordnet dann jeden Knoten einem Knoten plus der Anzahl von vorhergehend nebengeordneten Knoten dieses Knotens zu, die dem Zählmuster entsprechen. Wenn das from-Attribut angegeben ist, wird nur nach den übergeordneten Knoten gesucht, die wiederum untergeordnete Knoten des nächsten übergeordneten Knotens darstellen, der dem from-Muster entspricht. Vorhergehende nebengeordnete Elemente haben dieselbe Bedeutung wie bei der preceding-sibling-Achse.

  • Beim Wert level="any" erstellt das Element eine Liste der Länge 1, die die Anzahl der Knoten enthält, die dem Zählmuster entsprechen und zu der Gruppe gehören, die den aktuellen Knoten und alle Knoten auf beliebigen Dokumentebenen über dem aktuellen Knoten in der Dokumentstruktur enthält. Namspace- und Attributknoten sind davon ausgeschlossen (d. h., die Union der Member der preceding-Achse und der ancestor-or-self -Achse). Wenn das from-Attribut angegeben ist, werden nur Knoten berücksichtigt, die sich nach dem ersten Knoten vor dem aktuellen Knoten befinden, der dem from-Muster entspricht.

Die folgenden Sprachen-/Nummerierungsschemata werden unterstützt. " Formattoken" entspricht dem format-Attribut, "Sprache" entspricht dem lang-Attribut und "Buchstabenwert" entspricht dem letter-value-Attribut.

Beschreibung Formattoken Sprache Buchstabenwert

Westlich

0x0031 (1)

nicht verfügbar

nicht verfügbar

Großbuchstabe

0x0041 (A)

nicht verfügbar

nicht verfügbar

Kleinbuchstabe

0x0061 (a)

nicht verfügbar

nicht verfügbar

Großbuchstabe (lateinisch)

0x0049 (I)

nicht verfügbar

nicht verfügbar

Kleinbuchstabe (lateinisch)

0x0069 (i)

nicht verfügbar

nicht verfügbar

Russischer Großbuchstabe (kyrillisch)

0x0410

nicht verfügbar

nicht verfügbar

Russischer Kleinbuchstabe (kyrillisch)

0x0430

nicht verfügbar

nicht verfügbar

Hebräisch (Ivrith, alphabetisch)

0x05d0

nicht verfügbar

Alphabetisch

Hebräisch (traditionell)

0x05d0

nicht verfügbar

Traditionell

Arabisch

0x0623

nicht verfügbar

nicht verfügbar

Hindi-Konsonanten

0x0905

nicht verfügbar

nicht verfügbar

Hindi-Vokale

0x0915

nicht verfügbar

nicht verfügbar

Hindi-Ziffern

0x0967

nicht verfügbar

nicht verfügbar

Thai-Buchstaben

0x0e01

nicht verfügbar

nicht verfügbar

Thai-Ziffern

0x0e51

nicht verfügbar

nicht verfügbar

Japanisch (Aiueo, Doppelbyte)

0x30a2

nicht verfügbar

nicht verfügbar

Japanisch (Iroha, Doppelbyte)

0x30a4

nicht verfügbar

nicht verfügbar

Koreanisch (Chosung)

0x3131

nicht verfügbar

nicht verfügbar

Taiwanesisch (dezimal)

0x4e01

"zh-tw"

nicht verfügbar

Koreanisch (dezimal)

0x4e01

"ko"

nicht verfügbar

Asiatisch (dezimal)

0x4e01

alle anderen Sprachen

nicht verfügbar

Asiatisch (Kanji)

0x58f1

nicht verfügbar

nicht verfügbar

Taiwanesisch (traditionell)

0x58f9

"zh-tw"

nicht verfügbar

Chinesisch (traditionell)

0x58f9

alle anderen Sprachen

nicht verfügbar

12 chinesische Tierkreiszeichen

0x5b50

nicht verfügbar

nicht verfügbar

10 chinesische Tierkreiszeichen

0x7532

nicht verfügbar

nicht verfügbar

60 chinesische Tierkreiszeichen

0x7532, 0x5b50

nicht verfügbar

nicht verfügbar

Koreanisch (Ganada)

0xac00

nicht verfügbar

nicht verfügbar

Koreanisch (dezimal)

0xc77c

nicht verfügbar

nicht verfügbar

Koreanisch (99)

0xd558

nicht verfügbar

nicht verfügbar

Westlich (Doppelbyte)

0xff11

nicht verfügbar

nicht verfügbar

Japanisch (Aiueo, Einzelbyte)

0xff71

nicht verfügbar

nicht verfügbar

Japanisch (Iroha, Einzelbyte)

0xff72

nicht verfügbar

nicht verfügbar

Wenn das Formattoken bereits genügt, um ein bestimmtes Nummerierungsschema eindeutig zu bestimmen, muss keine Sprache und kein Buchstabenwert angegeben werden.

Es folgen einige Beispiele zu Konvertierungsangaben

format="&#x30A2;" gibt die Katakana-Nummerierung an.

format="&#x30A4;" gibt die Katakana-Nummerierung in der Reihenfolge "Iroha" an.

format="&#x0E51;" gibt die Nummerierung mit Thai-Ziffern an.

format="&#x05D0;" letter-value="traditional" gibt die Nummerierung in traditionellem Hebräisch an.

format="&#x10D0;" letter-value="traditional" gibt die Nummerierung in Georgisch an.

format="&#x03B1;" letter-value="traditional" gibt die Nummerierung in klassischem Griechisch an.

format="&#x0430;" letter-value="traditional" gibt die Nummerierung in Altslawisch an.

Beispiel

In diesem Beispiel wird die Verwendung des <xsl:number>-Elements durch Nummerieren von Einträgen in einer sortierten Liste mit der Nummerierung Westlich und Kleinbuchstaben (lateinisch) veranschaulicht.

XML-Datei (items.xml)

XSLT-Datei (numelem.xsl)

Ausgabe

Dies ist die formatierte Ausgabe:

1. Canopy, i) Canopy 2. Car, ii) Car 3. Cell phone, iii) Cell phone 4. Concept, iv) Concept 5. Film projector, v) Film projector 6. Hole, vi) Hole 7. LP Record, vii) LP Record 8. Null character, viii) Null character 9. Pen, ix) Pen 10. Widget, x) Widget 11. Wisdom, xi) Wisdom

Dies ist die Prozessorausgabe:

<?xml version="1.0" encoding="UTF-16"?>1. Canopy,

i) Canopy<br />2. Car,

ii) Car<br />3. Cell phone,

...

xi) Wisdom<br />