Il valore dell'attributo match
dell'istruzione <xsl:template>
deve essere un partita modello.
Gli schemi di corrispondenza formano un sottoinsieme dell'insieme di tutte le possibili espressioni XPath. La prima, naturale, limitazione è che un modello di corrispondenza deve selezionare un insieme di nodi. Ci sono anche altre limitazioni. In particolare, gli assi inversi non sono ammessi nelle fasi di localizzazione (ma possono essere specificati all'interno dei predicati). Inoltre, nessun riferimento a variabili o parametri è consentito in XSLT 1.0, ma l'utilizzo di questi è legale in XSLT 2.x.
/
in XPath indica la radice o il nodo del documento. In XPath 2.0 (e quindi XSLT 2.x) questo può anche essere scritto come document-node()
.
Un modello di corrispondenza può contenere //
abbreviation.
Esempi di modelli di partita:
<xsl:template match="table">
può essere applicato su qualsiasi elemento denominato table
.
<xsl:template match="x/y">
può essere applicato su qualsiasi elemento denominato y
il cui genitore è un elemento di nome x
.
<xsl:template match="*">
può essere applicato a qualsiasi elemento.
<xsl:template match="/*">
può essere applicato solo all'elemento superiore di un documento XML.
<xsl:template match="@*">
può essere applicato a qualsiasi attributo.
<xsl:template match="text()">
può essere applicato a qualsiasi nodo di testo.
<xsl:template match="comment()">
può essere applicato a qualsiasi nodo di commento.
<xsl:template match="processing-instruction()">
può essere applicato a qualsiasi nodo di istruzioni di elaborazione.
<xsl:template match="node()">
può essere applicato a qualsiasi nodo: elemento, testo, commento o istruzione di elaborazione.
Questa risposta non è effettivamente corretta. Non tutte le espressioni XPath possono essere specificate come pattern di corrispondenza legale. –
Sono d'accordo ma secondo me è meglio per un principiante prendere in considerazione il modello di corrispondenza così come viene definito usando XPath. – Koynov