A partire dalla versione 1.7 di XWiki Enterprise abbiamo introdotto una nuova sintassi di xwiki. La vecchia sintassi si chiama Sintassi di XWiki 1.0 e la nuova sintassi si chiama conseguentemente Sintassi di XWiki 2.0. I principali motivi per l'introduzione di una nuova sintassi sono stati i seguenti:
- Superare i limiti e le ambiguità della sintassi XWiki 1.0 (che fu ispirata sia da Radeox - il motore di rendering sottostante- e da TWiki).
- Simboli non ottimali. Per esempio il simbolo per il grassetto era un asterisco singolo. Ciò causava problemi se gli utenti inserivano del testo che conteneva degli asterischi dal momento che il testo seguente veniva considerato erroneamente in grassetto mentre non lo era affatto. Per cui abbiamo razionalizzato la sintassi usando almeno un carattere doppio ovunque possibile.
- Ambiguità. Per esempio c'era ambiguità tra una voce in grassetto all'inizio di una riga ed un elenco puntato. Era necessario risolvere le ambiguità per poter riscrivere l'editor WYSIWYG in modo che fosse deterministico.
- Per essere più vicini alla Sintassi Creole 1.0 che sta diventando lo standard delle sintasssi per i wiki. Inoltre la comunità di Creole ha speso del tempo per analizzare tutte le sintassi dei wiki esistenti prima di decidere i simboli da usare. Per cui le scelte fatte sono molto buone.
Dall'introduzione della sintassi XWiki 2.0 abbiamo scoperto alcuni difetti di questa sintassi. Per risolverli è stata introdotta, per il momento in via sperimentale, la sintassi XWiki 2.1 a partire dalla versione 3.0 di XWiki Enterprise. Ecco alcuni dei motivi per l'introduzione di questa nuova sintassi:
- Omogeneizzare la sintassi per i link e le immgini per maggiore chiarezza, consistenza ed estendibilità.
- Aggiunta la possibilità di mostrare icone, di fare collegamenti a file usando la notazione UNC e fare link a URL relativi.
Dal momento che la sintassi XWiki 2.1 si basa sulla sintassi XWiki 2.0, tutti i costrutti con sintassi XWiki 2.0 rimangono validi a meno che le specifiche della sintassi XWiki 2.1 indichino diversamente.
Oltre a queste due sintassi specifiche di XWiki abbiamo modificato anche il motore di rendering sottostante a partire da XWiki Enterprise versione 1.7 (precedentemente era Radeox) in favore di un nostro motore che è un superset wrapper attorno a Wikmodel e Doxia (e si spera altri in futuro). Qeusto ci ha consentito di poter usare anche altre sintassi nel wiki: MediaWiki, Confluence, JSPWiki, Creole, TWiki e altre.
Considerazioni Generali
La sintassi XWiki 2.0 corregge alcuni errori o ambiguità che gli utenti potevano inserire come mostrato negli esempi della tabella seguente.
Descrizione | Esempio di sintassi non valida o ambigua | Risolto con Sintassi XWiki 2.0 |
---|
Stili di testo non chiusi | **bold | **bold** |
Due elementi isolati non separati da 2 nuove righe | | cella tabella * voce elenco | | cella tabella
* voce elenco |
Due elementi isolati non separati da 2 nuove righe | paragrafo ---- paragrafo | paragrafo
----
paragrafo |
Nuova riga ignorata all'inizio del documento | <nuova riga all'inizio del documento> paragrafo | paragrafo |
Sintassi dei titoli non chiusa | === titolo | === titolo === |
Paragrafi
I paragrafi sono elementi di testo separati da 2 o più righe vuote.
Nella nuova Sintassi XWiki 2.0 le nuove righe sono rispettate al contrario della Sintassi XWiki Syntax 1.0 e della sintassi di Creole.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato con Sintassi XWiki 1.0 | Risultato con Sintassi XWiki 1.2 |
---|
Semplice paragrafo | Questo è un paragrafo | Questo è un paragrafo | Questo è un paragrafo | Questo è un paragrafo |
Paragrafo su più righe | Paragrafo su\\ più righe | Paragrafo su più righe | Paragrafo su più righe | Paragrafo su più righe |
Due paragrafi | Paragrafo uno
Paragrafo due | Paragrafo uno
Paragrafo due | Paragrafo uno
Paragrafo due | Paragrafo uno
Paragrafo due |
Paragrafo parametrizzato | <p style="text-align:center;color:blue">Paragrafo centrato e blu</p> | (% style="text-align:center;color:blue" %) Paragrafo centrato e blu | Paragrafo centrato e blu | Paragrafo centrato e blu |
Titoli
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Titoli Standard | 1 livello 1 1.1 livello 2 1.1.1 livello 3 1.1.1.1 livello 4 1.1.1.1.1 livello 5 1.1.1.1.1.1 livello 6 | = livello 1 =
== livello 2 ==
=== livello 3 ===
==== livello 4 ====
===== livello 5 =====
====== livello 6 ======
|
livello 1 livello 2livello 3livello 4livello 5livello 6 |
Titoli con Parametri | <h1><span style="color:blue">titolo</span></h1> | (% style="color:blue" %) = titolo = | |
Titoli con sintassi XWiki | 1.1.1 Titolo con *grassetto* | === Titolo con **grassetto** === | Titolo con grassetto |
Novità della Sintassi XWiki 2.0 rispetto alla Sintassi XWiki 1.0:
- Sono consentiti degli spazi subito dopo il simbolo sintattico (per esempio in Sinatssi XWiki 1.0, questo non era possibile: * grassetto *).
- Uso di doppi simboli quando nella Sintassi XWiki 1.0 ce n'era solo uno cosicché è meno probabile che l'utente li usi erroneamente nel testo.
- Possibilità di dividersi su più righe (non era possibile con la Sintassi XWiki 1.0).
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Grassetto | *Grassetto* | **Grassetto** | Grassetto |
Sottolineato | __Sottolineato___ | __Sottolineato__ | Sottolineato |
Corsivo | ~~Corsivo~~ | //Corsivo// | Corsivo |
Barrato | --Barrato-- | --Barrato-- | Barrato |
Monospazio | <tt>Monospazio</tt> | ##Monospazio## | Monospazio |
Apice | testo <sup>in apice</sup> | testo ^^in apice^^ | testo in apice |
Pedice | testo <sub>in pedice</sub> | testo ,,in pedice,, | testo in pedice |
Riga Orizzontale
Ci devono essere 4 o più lineette.
Notare la differenza con Creole in cui ci devono essere esattamente 4 lineette.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Riga Orizzontale semplice | ---- | ---- |
|
Riga Orizzontale con Parametri | <hr style="color:blue"/> |
(% style="color:blue" %)
----
|
|
Elenchi
Alcuni degli stili elencati non funzionano con tutti i browser. Per un elenco completo seguire
questo link.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Elenco puntato |
* voce 1
** voce 2
*** voce 3
* voce 4
|
* voce 1
** voce 2
*** voce 3
* voce 4
| |
Elenco numerato |
1. voce 1
11. voce 2
111. voce 3
1. voce 4
|
1. voce 1
11. voce 2
111. voce 3
1. voce 4
| |
Elenco misto |
1. voce 1
1*. voce 2
1*. voce 3
1. voce 4
|
1. voce 1
1*. voce 2
1*. voce 3
1. voce 4
| |
Elenco puntato con quadratino | |
(% style="list-style-type: square" %)
* voce 1
* voce 2
| |
Elenco puntato con punto pieno | <ul style="list-style-type: disc"> <li>voce1</li> <li>voce2</li> </ul> |
(% style="list-style-type: disc" %)
* voce 1
* voce 2
| |
Elenco alfabetico minuscolo | |
(% style="list-style-type: lower-alpha" %)
* voce1
* voce2
| |
Elenco alfabetico Maiuscolo | |
(% style="list-style-type: upper-alpha" %)
* voce1
* voce2
| |
Elenco con numeri Romani minuscoli | |
(% style="list-style-type: lower-roman" %)
* voce1
* voce2
| |
Elenco con numeri Romani Maiuscoli | |
(% style="list-style-type: upper-roman" %)
* voce1
* voce2
| |
Elenco con lettere Greche minuscole | |
(% style="list-style-type: lower-greek" %)
* voce1
* voce2
| |
Elenco con lettere Greche Maiuscole | |
(% style="list-style-type: upper-greek" %)
* voce1
* voce2
| |
Elenco Giapponese Hiragana | |
(% style="list-style-type: hiragana" %)
* voce1
* voce2
| |
Elenco Giapponese Hiragana Iroha | |
(% style="list-style-type: hiragana-iroha" %)
* voce1
* voce2
| |
Elenco Giapponese Katakana | |
(% style="list-style-type: katakana" %)
* voce1
* voce2
| |
Elenco Giapponese Katakana Iroha | |
(% style="list-style-type: katakana-iroha" %)
* voce1
* voce2
| |
Elenco lettere Armene |
<ul style="list-style-type: armenian">
<li>voce1</li>
<li>voce2</li>
</ul>
|
(% style="list-style-type: armenian" %)
* voce1
* voce2
| |
Elenco lettere Ebraiche | |
(% style="list-style-type: hebrew" %)
* voce1
* voce2
| |
Elenco lettere Georgiane |
<ul style="list-style-type: georgian">
<li>voce1</li>
<li>voce2</li>
</ul>
|
(% style="list-style-type: georgian" %)
* voce1
* voce2
| |
Elenco ideogrammi Cinesi CJK |
<ul style="list-style-type: cjk-ideographic">
<li>voce1</li>
<li>voce2</li>
</ul>
|
(% style="list-style-type: cjk-ideographic" %)
* voce1
* voce2
| |
Elenchi di Definizione
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Definizione Standard |
<dl>
<dt>termine</dt>
<dd>definizione</dd>
</dl> | | |
Definizioni Nidificate |
<dl>
<dt>termine1</dt>
<dd>definizione1
<dl>
<dt>termine2</dt>
<dd>definizione2</dd>
</dl>
</dd>
</dl>
|
; termine1
: definizione1
:; termine2
:: definizione2
| - termine1
- definizione1
- termine2
- definizione2
|
Definizione con Parametri |
<dl style="color:blue">
<dt>termine</dt>
<dd>definizione</dd>
</dl>
|
(% style="color:blue" %)
; termine
: definizione
| |
Nuova riga/Interruzioni di riga
Una nuova riga è un ritorno a capo. Un'interruzione di riga è una nuova riga forzata che può comparire in un punto qualsiasi del testo.
Con la Sintassi XWiki 2.0 le nuove righe vengono rispettate, cosa che non accade con la Sintassi XWiki 1.0 e con la Sintassi di Creole.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato con Sintassi XWiki 1.0 | Risultato con Sintassi XWiki 2.0 |
---|
Interruzione riga | Riga\\Nuova riga | Riga\\Nuova riga | Riga Nuova riga | Riga Nuova riga |
Nuova riga | Riga Nuova riga | Riga Nuova riga | Riga Nuova riga | Riga Nuova riga |
Collegamenti - Links
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato con Sintassi XWiki 1.0 | Risultato con Sintassi XWiki 2.0 |
---|
Link ad una pagina nello Spazio corrente | [WebHome] | [[WebHome]] | Web Home | WebHome |
Link con etichetta | [label>WebHome] | [[label>>WebHome]] La sintassi XWiki è supportata anche all'interno delle etichette | label | label |
Link con sintassi XWiki nell'etichetta | <a href="$xwiki.getURL("WebHome")"><strong>etichetta in grassetto</strong></a> | [[**etichetta in grassetto**>>WebHome]] | etichetta in grassetto | etichetta in grassetto |
Link ad una pagina di uno spazio specificato | [Main.WebHome] | [[Main.WebHome]] | Web Home | WebHome |
Link ad un subwiki | [subwiki:Main.WebHome] | [[subwiki:Main.WebHome]] | Web Home | WebHome |
Link che si apre in una nuova pagina | [label>WebHome>_blank] | [[label>>WebHome||rel="__blank"]] | label | label |
Link ad un URL direttamente nel testo | Questo è un URL: http://xwiki.org | Questo è un URL: http://xwiki.org | This is a URL: http://xwiki.org | This is a URL: http://xwiki.org |
Link ad un URL | [http://xwiki.org] | [[http://xwiki.org]] | http://xwiki.org | http://xwiki.org |
Link ad un URL con etichetta | [XWiki>http://xwiki.org] | [[XWiki>>http://xwiki.org]] | XWiki | XWiki |
Link ad un indirizzo email | [john@smith.net>mailto:john@smith.net] | [[john@smith.net>>mailto:john@smith.net]] | john@smith.net | john@smith.net |
Link ad un'immagine | <a href="$xwiki.getURL("Space1.Page1")">{image:img.png|document=Space2.Page2}</a> | [[image:Space2.Page2@img.png>>Space1.Page1]] |  |  |
Link ad un'immagine con parametri | <a href="$xwiki.getURL("Space1.Page1")">{image:img.png|document=Space2.Page2|width=26|height=26}</a> | [[[[image:Space2.Page2@img.png||width="26" height="26"]]>>Space1.Page1]] |  |  |
Link ad un allegato nella pagina corrente | Vedere Attach Macro per ulteriori dettagli {attach:text|file=img.png} | [[text>>attach:img.png]] | text | text |
Link ad un allegato in una pagina diversa | Vedere Attach Macro per ulteriori dettagli {attach:text|document=Space.Page|file=img.png} | [[text>>attach:Space.Page@img.png]] | text | text |
Link ad una Ancora in una pagina | [label>Space.Page#anchor] | [[label>>Space.Page#anchor]] | XWikiSyntax | XWikiSyntax |
Link ad un Titolo in una pagina | Quando s'inserisce un Titolo, si crea un'ancora di nome "H" seguita dal testo dell'intestazione di sole lettere. Per esempio, per Titolo "My heading", l'ancora generata sarà "HMyheading". [label>Space.Page#HMyheading] | [[label>>Space.Page#HMyheading]] | XWikiSyntax | XWikiSyntax |
Specifiche dei link con la Sintassi XWiki 1.0
Le parti tra ( ) sono richieste, le parti tra [ ] sono opzionali e si deve aggiungere uno dei due caratteri in { } se si usano parti opzionali.
Il formato completo di un link è [label {> or |}] (resource) [@interWikiAlias] [{> or |} target]
- label: Una stringa opzionale che viene mostrata all'utente come nome del link quando è renderizzata. Esempio: Pagina personale
- resource: Il riferimento completo al link usando la seguente sintassi: (reference) [?queryString] [#anchor]
- reference: Il riferimento del link. Esso può essere indifferentemente
- un URI nella forma protocol:path (esempi: http://xwiki.org, mailto:john@smith.com), o
- una pagina wiki riferimento nella forma [[wikiName:] space.] (page). Esempi: WebHome, Main.WebHome, mywiki:Main.WebHome
- wikiName: Stringa opzionale che contiene il nome di un virtual wiki (animal). Il link punterà ad una pagina all'interno di quel virtual wiki. Esempio: miowiki
- space: Nome opzionale dello Spazio del wiki. Se non si specifica uno spazio viene usato lo spazio corrente. Esempio: Main
- page: Stringa obbligatoria che contiene il nome della pagina del wiki da collegare. Esempio: WebHome
- queryString: Stringa opzionale di query per specificare dei parametri che saranno usati nel rendering dell'URL. Esempio: mydata1=5&mydata2=Hello
- anchor: Nome opzionale di un'ancora che punta ad un'altra ancora definita nel link in oggetto. Notare che in XWiki le ancore sono create automaticamente per i titoli. Esempio: HTableOfContents
- interWikiAlias: Un alias opzionale Inter Wiki come definito nella InterWiki Map (vedere la Admin Guide).Questo vale solo per i nomi delle pagine wiki. Esempio: wikipedia
- target: Stringa opzionale che corrisponde all'atttributo HTML target per un elemento link HTML A . Questo elemento viene usato quando si fa il render del link. Di default apre il link nella pagina corrente. Esempi: _self, _blank
Specifiche dei link con la Sintassi XWiki 2.0
Le parti tra ( ) sono richieste, le parti tra [ ] sono opzionali.
Il formato completo di un link è [label>>] (resource) [@interWikiAlias] [||parameters]
- label: Stringa opzionale che sarà mostrata all'utente dopo il render del link. L'etichetta può contenere della sintassi XWiki. Se non viene specificata un'etichetta sarà generata un'etichetta predefinita. Il modello di generazione può essere cambiato, vedere la Admin Guide. Esempio: My Page
- resource: Il riferimento completo al link con la sintassi seguente: (reference) [?queryString] [#anchor]
- reference: Il riferimento al collegamento in una delle forme seguenti:
- URL: qualsiasi URL nella forma protocol://path. Esempi: http://xwiki.org, https://svn.xwiki.org/
- Nome pagina Wiki riferimento nella forma [[wikiName:] space.] (page). Esempi: WebHome, Main.WebHome, mywiki:Main.WebHome
- wikiName: Stringa opzionale che contiene il nome di un virtual wiki (animal). Il link punterà ad una pagina all'interno di quel virtual wiki. Esempio: mywiki
- space: Nome opzionale di uno Spazio del wiki. Se non si specifica nessun spazio verrà usato lo spazio corrente. Esempio: Main
- page: Stringa obbligatoria che contiene il nome della pagina del wiki cui si vuole collegarsi. Esempio: WebHome
- Allegato riferimento nella forma attach: [wikiPageName@] (attachmentName). Esempi: attach:img.png, attach:mywiki:Main.WebHome@img.png
- attach:: Stringa richiesta che identifica la risorsa come allegato.
- wikiPageName: Stringa opzionale con il riferimento al documento che contiene l'allegato, vedere sopra "Wiki page name".
- attachmentName: Nome dell'allegato come è stato memorizzato nel wiki.
- indirizzo Email nella forma mailto: (emailAddress) (#anchor non è valido). Esempio: mailto:john@smith.com
- mailto:: Stringa richiesta che identifica la risorsa come email.
- emailAddress: Indirizzo del destinatario dell'email. Esempio: "john@smith.com"
- queryString: Stringa opzionale di query per specificare parametri che saranno usati nel rendering dell'URL. Esempio: mydata1=5&mydata2=Hello
- anchor: Nome di un'ancora opzionale che punta ad un'ancora definita nel link cui si fa riferimento. Notare che in XWiki le ancore sono create automaticamente per i titoli. Esempio: HTableOfContents
- interWikiAlias: Alias opzionale Inter Wiki come definito nella InterWiki Map (vedere la Admin Guide). Questo vale solo per i nomi delle pagine wiki. Esempio: wikipedia
- parameters: elenco opzionale di parametri che si possono passare al link. Esempio: rel="__blank" (apri in una nuova finestra)
Specifiche dei link con la Sintassi XWiki 2.1
Le parti tra ( ) sono richieste, le parti tra [ ] sono opzionali.
Il formato completo di un link è [label>>] (resource) [||parameters]
- label: Stringa opzionale che sarà mostrata all'utente dopo il render del link. L'etichetta può contenere della sintassi XWiki. Se non viene specificata un'etichetta sarà generata un'etichetta predefinita. Il modello di generazione può essere cambiato, vedere la Admin Guide. Esempio: My Page
- resource: Stringa richiesta con il riferimento al link in una delle forma seguenti
- URL: qualsiasi URL nella forma [url:] (protocol://path). Esempi: http://xwiki.org, url:https://svn.xwiki.org/
- url: Stringa opzionale che identifica la risorsa come un URL.
- Wiki page name Nome pagina WIki, riferimento nella forma [doc:] [[wikiName:] space.] (page). Esempi: WebHome, Main.WebHome, mywiki:Main.WebHome
- doc: Stringa opzionale che identifica la risorsa come documento XWiki.
- wikiName: Stringa opzionale contenente il nome di un virtual wiki (animal). Il link punterà ad una pagina all'interno di quel virtual wiki. Esempio: mywiki
- space: Nome opzionale di uno Spazio del wiki. Se non si specifica nessun spazio verrà usato lo spazio corrente. Esempio: Main
- page: Stringa richiesta con il nome della pagina wiki cui punta il link. Esempio: WebHome
- InterWiki page name Nome pagina Interwiki, riferimento nella forma interwiki: (interWikiAlias:) (page). Esempio: interwiki:wikipedia:XWiki
- interwiki: Stringa richiesta che identifica la risorsa come un link InterWiki.
- interWikiAlias: Alias opzionale dell'Inter Wiki come definito dall'InterWiki Map (vedere la Admin Guide). Esempio: wikipedia
- page: Stringa richiesta con il nome della pagina wiki cui punta il link. Esempio:: XWiki
- Attachment Allegato, riferimento nella forma attach: [wikiPageName@] (attachmentName). Esempi: attach:img.png, attach:mywiki:Main.WebHome@img.png
- attach:: Stringa richiesta che identifica la risorsa come un allegato.
- wikiPageName: Stringa opzionale che indica il riferimento al documento che contiene l'allegato, vedere "Wiki page name" precedente.
- attachmentName: Nome dell'alllegato come memorizzato nel wiki.
- Email address Indirizzo email, nella forma mailto: (emailAddress) (#anchor non è valido). Esempio: mailto:john@smith.com
- mailto:: Stringa richiesta che indentifica la risorsa come email.
- emailAddress: Indirizzo email del destinatario. Esempio: john@smith.com
- Relative path Percorso relativo, riferimento sul server nella forma path: (relPath). Esempio: path:$doc.getURL('reset') produce l'indirizzo di destinazione http://server.domain.com/xwiki/bin/reset/Space/Page dove /xwiki/bin/reset/Space/Page è prodotto da $doc.getURL('reset').
- path: Stringa richiesta che identifica la risorsa come percorso relativo.
- relPath: Stringa richiesta contenente il percorso relativo della risorsa sul server cui punta il link.
- UNC (Windows Explorer) riferimento nella forma unc: (path). Il link è reso come un link ad un file:// . Esempi: unc:C:\Windows\, unc:\\myserver\path\img.png, unc:home/user/somefile
- unc: Stringa richiesta che identifica la risorsa come un percorso UNC (Windows Explorer).
- path: Stringa richiesta contenente il percorso locale della risorsa acessibile dall'utente. Esempi: C:\Windows\, \\myserver\path\img.png, home/user/somefile
- parameters: Lista opzionale separata da spazi di parametri passati al link. Esempio: queryString="mydata1=5&mydata2=Hello" anchor="HTableOfContents" rel="__blank"
- queryString: Stringa opzionale di query per specifici parametri che saranno appesi all'indirizzo del link e usati nel rendering dell'URL. Eaempio: url:http://domain.com/path||queryString="mydata1=5&mydata2=Hello" produce l'indirizzo di destinazione http://domain.com/path?mydata1=5&mydata2=Hello
- anchor: Nome opzionale di un ancora che punta ad un ancora definita nel link cui si riferisce. Notare che in XWiki le ancore per i titoli sono create automaticamente. Esempio: url:http://domain.com/path||anchor="HTableOfContents" produce l'indirizzo di destinazione http://domain.com/path#HTableOfContents
- rel: Parametro opzionale che consente di aprire il link in una nuova finestra. Esempio: rel="__blank"
Tabelle
È possibile creare facilmente del testo in forma tabellare. Con la Sintassi XWiki 2.0 sono supportati anche parametri per la tabella, le righe o celle.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Tabella Standard | (((
{table}
Titolo 1 | Titolo 2
Parola 1 | Parola 2
{table}
))) |
|=Titolo 1|=Titolo 2
|Parola 1|Parola 2 }}} o
!=Titolo 1!=Titolo 2
!!Parola 1!!Parola 2
| Titolo 1 | Titolo 2 |
---|
Parola 1 | Parola 2 |
|
Tabella con Parametri | <table style="background-color:red;align:center"> <tbody> <tr> <td>Titolo 1</td> <td style="background-color:yellow">Titolo 2</td> </tr> <tr> <td>Parola 1</td> <td>Parola 2</td> </tr> </tbody> </table> |
(% style="background-color:red;align=center" %)
|=Titolo 1|=(% style="background-color:yellow" %)Titolo 2
|Parola 1|Parola 2
| Titolo 1 | Titolo 2 |
---|
Parola 1 | Parola 2 |
|
Tabella filtrabile ordinabile |
$xwiki.ssfx.use("js/xwiki/table/table.css")
$xwiki.jsfx.use("js/xwiki/table/tablefilterNsort.js", true)
<table id="tableid" class="grid sortable filterable doOddEven">
<tr class="sortHeader">
<th>Titolo1</th>
<th>Titolo2</th>
</tr>
<tr>
<td>Cella11</td>
<td>Cella12</td>
</tr>
<tr>
<td>Cella21</td>
<td>Cella22</td>
</tr>
</table>
|
{{velocity}}
$xwiki.ssfx.use("js/xwiki/table/table.css")
$xwiki.jsfx.use("js/xwiki/table/tablefilterNsort.js", true)
{{/velocity}}
(% class="grid sortable filterable doOddEven" id="tableid" %)
(% class="sortHeader" %)|=Titolo 1|=Titolo 2
|Cella 11|Cella 12
|Cella 21|Cella 22
| Cella 11 | Cella 12 | Cella 21 | Cella 22 |
|
Immagini
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Immagine da un allegato nella pagina corrente | | image:img.png |  |
Immagine da un allegato di un altro documento | {image:img.png|document=Space.Page} | image:Space.Page@img.png |  |
Immagine con parametri | {image:img.png|width=25|height=25} | [[image:img.png||width="25" height="25"]] |  |
Immagini raggiungibili con un URL | http://some/url/img.png | image:http://some/url/img.png |  |
Specifiche per le Immagini in Sintassi XWiki 2.0
La parte tra ( ) è richiesta, mentre le parti tra { } sono opzionali.
Il formato completo di un'immagine è image: (riferimento) oppure [[image: (riferimento) {||parametri}]]
- image: Stringa richiesta che identifica la risora come immagine.
- riferimento: Il riferimento all'immagine che sarà mostrata in una delle forme seguenti:
- URL: Un qualunque URL ad un'immagine nel formato http://percorso/Nomeimmagine. Esempio: http://domain.org/path/img.png
- Allegato riferimento nel formato {{{wikiName:} space.} page@} (imageName)
- wikiName: Stringa opzionale contenente il nome di un virtual wiki. Il riferimento all'immagine punterà ad un'immagine allegata a una pagina all'interno di quel virtual wiki. Esempio: mywiki
- spazio: Nome opzionale di uno spazio del wiki. Se non si specifica uno spazio viene usato lo spazio corrente. Esempio: Main
- pagina: Stringa opzionale che contiene il nome di una pagina del wiki a cui l'immagine fa riferimento come allegato. Esempio: WebHome
- Nomeimmagine: Stringa richiesta con il nome dell'immagine allegata alla pagina così come è memorizzato nel wiki.
- parametri: Elenco opzionale di parametri separati da uno spazio passati all'immagine. Esempio: width="800" height="600" alt="img.png" title="My nice image"
- Attributi HTML: Tutti gli attributi definiti dallo standard HTML saranno aggiunti al codice HTML renderizzato <img> tag.
- style: Informazioni sullo stile CSS che si deve applicare all'immagine. Esempio: style="float:right;height:50" (immagina a destra, altezza 50 pixel), style="style="display:block;margin-left:auto;margin-right:auto;width:80%" (immagine centrata, larghezza 80% del blocco), style="vertical-align:bottom" (il testo inzia in basso all'immagine)
- height: Parametro che definisce l'altezza visualizzata dell'immagine. Il valore dovrebbe essere in pixel (esempio: height="80") o in pixel relativi all'altezza del blocco contenente l'immagine (esempio: height="40%").
- width: Parametro che definisce la larghezza visualizzata dell'immagine. Il valore dovrebbe essere in pixel (esempio: width="80") o in pixel relativi alla larghezza del blocco contenente l'immagine (esempio: width="40%").
- title: Parametro che definisce il titolo visualizzato dell'immagine che sarà visibile quando ci si passa sopra con il mouse, per esempio. Esempio: title="La mia bella immagine"
- alt: Parametro che definisce quale testo deve essere mostrato se il browser non è in grado di visualizzare l'immagine. Dal momento che questo è un attributo HTML richiesto XWiki userà il nome del file se il parametro alt non è definito. Esempio: alt="img.png"
- Altro: Una spiegazione più approfondita sul tag HTML <img> tag che comprende altri attributi si può trovare su html.
Specifiche per le Immagini in Sintassi XWiki 2.1
La parte tra ( ) è richiesta, mentre le parti tra { } sono opzionali.
Il formato completo di un'immagine è image: (riferimento) oppure [[image: (riferimento) {||parametri}]]
- image: Stringa richiesta che identifica la risora come immagine.
- riferimento: Il riferimento all'immagine che sarà mostrata in una delle forme seguenti:
- URL: Un qualunque URL ad un'immagine nel formato protocollo://percorso/Nomeimmagine. Esempio: http://domain.org/path/img.png
- Allegato riferimento nel formato {{{wikiName:} space.} page@} (imageName)
- wikiName: Stringa opzionale contenente il nome di un virtual wiki. Il riferimento all'immagine punterà ad un'immagine allegata a una pagina all'interno di quel virtual wiki. Esempio: mywiki
- spazio: Nome opzionale di uno spazio del wiki. Se non si specifica uno spazio viene usato lo spazio corrente. Esempio: Main
- pagina: Stringa opzionale che contiene il nome di una pagina del wiki a cui l'immagine fa riferimento come allegato. Esempio: WebHome
- Nomeimmagine: Stringa richiesta con il nome dell'immagine allegata alla pagina così come è memorizzato nel wiki.
- Icona riferimento nel formato (icon:) (iconName). Esempio: icon:accept
- icon: Stringa richiesta che identifica il riferimento come un'icona da png.
- iconName: Stringa richiesta che identifica l'icona cui si fa riferimento. Esempio: accept
- parametri: Elenco opzionale di parametri separati da uno spazio passati all'immagine. Esempio: width="800" height="600" alt="img.png" title="My nice image"
- Attributi HTML: Tutti gli attributi definiti dallo standard HTML saranno aggiunti al codice HTML renderizzato <img> tag.
- style: Informazioni sullo stile CSS che si deve applicare all'immagine. Esempio: style="float:right;height:50" (immagina a destra, altezza 50 pixel), style="style="display:block;margin-left:auto;margin-right:auto;width:80%" (immagine centrata, larghezza 80% del blocco), style="vertical-align:bottom" (il testo inzia in basso all'immagine)
- height: Parametro che definisce l'altezza visualizzata dell'immagine. Il valore dovrebbe essere in pixel (esempio: height="80") o in pixel relativi all'altezza del blocco contenente l'immagine (esempio: height="40%").
- width: Parametro che definisce la larghezza visualizzata dell'immagine. Il valore dovrebbe essere in pixel (esempio: width="80") o in pixel relativi alla larghezza del blocco contenente l'immagine (esempio: width="40%").
- title: Parametro che definisce il titolo visualizzato dell'immagine che sarà visibile quando ci si passa sopra con il mouse, per esempio. Esempio: title="La mia bella immagine"
- alt: Parametro che definisce quale testo deve essere mostrato se il browser non è in grado di visualizzare l'immagine. Dal momento che questo è un attributo HTML richiesto XWiki userà il nome del file se il parametro alt non è definito. Esempio: alt="img.png"
- Altro: Una spiegazione più approfondita sul tag HTML <img> tag che comprende altri attributi si può trovare su html.
- queryString: Consente di inviare richieste al server quando si crea il link per il download dell'immagine referenziata. Esempio: queryString="width=100&height=800&keepAspectRatio=true" (keepAspectRatio=true non avrà successo se i parametri width e height non vengono specificati oltre a queryString!)
Contenuto testuale, verbatim cioè parola per parola
Consente di inserire del contenuto che non sarà formattato (in altre parole non viene considerata la sintassi wiki).
Con la Sintassi XWiki 1.0 la
Pre macro preserva solo la sintassi wiki e le macro Radeox. Per cui gli snippets HTML e gli script Groovy/Velocity sono comunque eseguiti.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultati con Sintassi XWiki 1.0 | Risultati con Sintassi XWiki 2.0 |
---|
Verbatim in una riga | Testo verbatim {pre}*[not rendered]*{/pre} contenuto | Testo verbatim {{{**[[not rendered]]**}}} contenuto | Testo verbatim *[not rendered]*contenuto | Testo verbatim **[[not rendered]]**contenuto |
Verbatim in un blocco |
{pre}
contenuto
*verbatim*
su più righe
{/pre}
È anche possibile usare la Code macro ma essa visualizza per default il contenuto in una casella. |
{{{
contenuto
**verbatim**
su più righe
}}}
|
contenuto
*verbatim*
su più righe
|
contenuto
**verbatim**
su più righe
|
Citazioni
Permette di citare, quotare, del testo.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Citazione semplice | <blockquote><p>Giovanni ha detto questo</p></blockquote> Io ho detto va bene |
> Giovanni ha detto questo
Io ho detto va bene
| Giovanni ha detto questo
Io ho detto va bene |
Citazioni nidificate | <blockquote><p>Giovanni ha detto questo</p> <blockquote><p>Maria ha risposto questo</p></blockquote> </blockquote> Io ho detto va bene |
> Giovanni ha detto questo
>> Maria ha risposto questo
Io ho detto va bene
| Giovanni ha detto questo Maria ha risposto questo
Io ho detto va bene |
Gruppi
Si possono usare i Gruppi per inserire direttamete un altro documento nel documento corrente. Questo permette per esempio di inserire elementi complessi in una voce di un elenco o all'interno di una cella di una tabella. I Gruppi sono delimitati dai seguenti elementi sintattici:(((...))). Un Gruppo può contenere un altro Gruppo senza limiti di nidificazione.
Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
Questa caratteristica non esiste nella Sintassi XWiki 1.0. Si deve usare puro codice HTML per ottenere il risultato. |
|=Titolo 1|=Titolo 2|=Titolo 3
|Cella Uno|(((
= Documento incluso =
Alcuni paragrafi inclusi.
* voce elenco uno
* voce elenco due
** sotto elemento 1
** sotto elemento 2
))) | Cella Tre
Paragrafo successivo nel documento di livello superiore
| Titolo 1 | Titolo 2 | Titolo 3 |
---|
Cella Uno | Documento inclusoAlcuni paragrafi inclusi. - voce elenco uno
- voce elenco due
- sotto elemento 1
- sotto elemento 2
| Cella Tre |
Paragrafo successivo nel documento di livello superiore |
Consente di commentare e quindi non valutare la sintassi XWiki
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato con Sintassi XWiki 1.0 | Risultato con Sintassi XWiki 2.0 |
---|
Commentare un carattere | Questo non è un \[link\] | Questo non è un ~[~[link~]~] Per inserire il carattere ~ usare un doppio commento: ~~ | Questo non è un [link] | Questo non è un [[link]] |
Macro
Ci sono due tipi di macro nella Sintassi XWiki 1.0:
- Macro Velocity (chiamate usando la sintassi #macroname(param1 ... paramN) )
- Macro Radeox (chiamate usando la sintassi {macroname:param1=value1|...|paramN=valueN} )
Anche nella Sintassi XWiki 2.0 ci sono due tipi di macro:
- Macro Velocity (chiamate usando la sintassi #macroname(param1 ... paramN) all'interno della Macro Velocity)
- Macro XWiki (chiamate usando la sintassi {{macroname param1="value1" ... paramN="valueN"}} )
Non si possono usare le macro Radeox con la Sintassi XWiki 2.0. Perciò devono essere riscritte come macro XWiki.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 |
---|
Macro Velocity | |
{{info}}
Testo a caso
{{/info}}
|
Radeox Macro/XWiki Macro |
{code:java}
contenuto java
{code}
|
{{code language="java"}}
contenuto java
{{/code}}
|
HTML
Con la Sintassi XWiki 2.0 si deve inserire il codice HTML o XHTML usando la macro HTML mentre con la Sintassi XWiki 1.0 era possibile inserire direttamente il codice HTML direttamente nel testo.
Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | Risultato |
---|
<b>grassetto</b> | {{html}}<b>grassetto</b>{{/html}} | grassetto |
Nella Sintassi XWiki 2.0, per default la macro HTML non interpreta la sintassi XWiki (così come altre macro racchiuse, dal momento che anch'esse sono sintassi XWiki). Per abilitare la cosa, usare {{html wiki="true"}}.
Scripts Velocity/Groovy
Con la Sintassi XWiki 1.0 era possibile inserire gli script Velocity ovunque direttamente nella pagina. Questo comportava dei problemi quando per esempio l'utente inseriva del contenuto Velocity involontariamente. Era anche uno spreco di risorse per le pagine che non richiedevano un contenuto Velocity. C'erano molti altri limiti tecnici. Perciò nella Sintassi XWiki 2.0 gli script Velocity devono essere inseriti usando la macro velocity . Lo stesso avviene per gli script Groovy.
Caratteristica | Sintassi XWiki 1.0 | Sintassi XWiki 2.0 |
---|
Script Velocity |
#set ($var = "qualsiasi")
|
{{velocity}}
#set ($var = "qualsiasi")
{{/velocity}}
|
Script Groovy |
<%
def var = "qualsiasi"
%>
|
{{groovy}}
def var = "qualsiasi"
{{/groovy}}
|
Parametri
Con la Sintassi XWiki 2.0 è possibile passare dei parametri tra i diversi elementi sintattici ed anche a blocchi di testo. Si usa questo per esempio per applicare uno stile. Si può impostare qualunque parametro chiave/valore. Il motore di render XHTML passerà questi parametri come attributi XHTML della sottostante rappresentazione XHTML dei differenti elementi sintattici. Nella Sintassi XWiki 1.0 non c'era una sintassi per passare dei parametri e l'unico modo per farlo era di scrivere codice XHTML direttamente nel contenuto, come mostrato nella tabella seguente.
Sintassi XWiki 1.0 | Sintassi XWiki 2.0 | XHTML Generato |
---|
<h1 class="miaClasse" style="mioStile" id="myId">titolo</h1>
|
(% class="miaClasse" style="mioStile" id="myId" %)
= titolo =
|
<h1 class="miaClasse" style="mioStile" id="myId">titolo</h1>
|
Altre sintassi
A partire da XWiki Enterprise 1.6 sono implementate anche queste altre sintassi:
L'implementazione di queste sintassi non è stata ancora completata. Per esempio il supporto ai link non funziona ancora perfettamente. Dobbiamo anche definire se estendere le sintassi originali per supportare le caratteristiche specifiche di XWiki come la possibilità di fare un link ad un altro sub-wiki.