Skip to topic | Skip to bottom
Home

Tesi
Tesi.CompleteSyntaxr1.26 - 13 Feb 2008 - 22:49 - JacopoDeCesaretopic end

Start of topic | Skip to actions

Complete Syntax

Tall namespace

topological objects
tall:context The root of the Tall tree, contains information about the document
tall:group Set of objects bound together by topological relationships
tall:object Encapsulates a piece of content (formatted text, svg shapes, ...) that acts as an atomic object

proprietÓ visibilitÓ descrizione
width/height/aspect-ratio/area tall:context Definiscono le dimensioni in modo geometrico
tall:group
tall:object
margin tall:context Definisce la dimensione "utilizzabile"
tall:group
tall:object
resolution tall:context Definisce la risoluzione di output
color tall:context Definisce il colore di sfondo
tall:group
tall:object
border tall:context Definisce se si desidera visualizzare o meno i bordi
tall:group
tall:object
importance tall:group Definisce quanto un group o un object siano importanti incidendo sulla disposizione finale del contenuto
tall:object
order tall:group Definisce se bisogna tenere in considerazione l'ordine con il quale vengono inseriti gli object di un group all'interno di un documento TALL
overflow tall:context Definisce in che modo deve essere trattato il contenuto che occupa un'area maggiore di quella ad esso riservata
tall:group
tall:object
layout tall:context Definisce la preferenza per un certo layout o per alcune categorie di layout
tall:group
alignment tall:context Definisce l'allineamento del contenuto all'interno della propria area, nel caso in cui l'area disponibile sia maggiore delle dimensioni del contenuto
tall:group
tall:object
similarity tall:group Definisce per quali proprietÓ gli object figli di un group devono essere creati simili
proximity tall:group Definisce quanto dei group o degli object debbano essere vicini
tall:object

geometrical properties attribute descrizione
width / height cm La dimensione (larghezza e altezza) pu˛ essere espressa utilizzando un'unitÓ di misura geometrica (cm, mm, in, pixel) o relativa (em, %). La dimensione del context pu˛ essere espressa escusivamente utilizzando un'unitÓ di misura geometrica
mm
in
pixel
em
%
margin width / height cm Utilizzando unitÓ di misura geometriche o relative Ŕ possibile stabilire la dimensione della parte di context, group o object utilizzabile dal contenuto
mm
in
pixel
em
%
aspect-ratio dimensione "assoluta" E' larghezza / altezza (w / h)
area ?cm^2? E' larghezza * altezza (w*h)
?mm^2?
%

Si possono utilizzare tutte le proprietÓ di style dei linguaggi ospite

style properties attribute descrizione
resolution dpi La risoluzione di output viene espressa in dpi (punti per pollice)
color RGB Il colore di sfondo dell'area viene espresso attraverso il modello di colore RGB
border 0 [DEFAULT] FALSE Non visualizza i bordi dell'area
?not 0? TRUE Visualizza i bordi dell' area

topological properties attribute descrizione
importance high Consente di occuperare una posizione "importante" nel layout
medium [DEFAULT]
low un group o un object pu˛ non comparire nel risultato finale o avere una posizione secondaria
priority 0..1 E' un valore compreso fra 0 e 1 ed indica quanto una proprietÓ sia importante nel caso in cui pi¨ proprietÓ siano in contrasto tra loro
order false [DEFAULT] L'ordine con il quale vengono inseriti gli object nel documento TALL non Ŕ importante ai fini del risultato finale
true L'ordine degli object nel layout finale rispetterÓ l'ordine di inserimento nel file TALL
priority 0..1 E' un valore compreso fra 0 e 1 ed indica quanto una proprietÓ sia importante nel caso in cui pi¨ proprietÓ siano in contrasto tra loro
overflow repeat Crea un'altra area, (?non Ŕ possibile definirlo negli object perchŔ nel caso in cui si tratti di testo ci interessa...ma se Ŕ un immagine?)
hidden [DEFAULT] Taglia il contenuto eccedente le dimensioni dell'area
scrollX Permette di muoversi all'interno dell'area in modo orizzontale
scrollY Permette di muoversi all'interno dell'area in modo verticale
scrollXY Permette di muoversi all'interno dell'area in modo orizontale e verticale
stretchX Allunga (o adatta?) la dimensione orizontale dell'area
stretchY Allunga la dimensione verticale dell'area
stretchXY Allunga la dimensione verticale e orizontale dell'area (adattandola perfettamente al contenuto??)
priority 0..1 E' un valore compreso fra 0 e 1 ed indica quanto una proprietÓ sia importante nel caso in cui pi¨ proprietÓ siano in contrasto tra loro
layout one-dimensional Esprime la preferenza per un layout monodimensionale (horizontal, vertical, bordure)
two-dimensional Esprime la preferenza per un layout bidimensionale (lines, columns, tabular, checked, saltire, circle, star, random, triangle, cross)
horizontal Dispone gli object in orizontale
lines  
vertical Dispone gli object in verticale
columns descrizione
tabular(Nrow,Ncolumn) i group o gli object del documento TALL verranno inseriti ottimizzando lo spazio a disposizione
horizontaltabular(Nrow,Ncolumn) i group o gli object del documento TALL verranno inseriti partendo dalla cella in alto a sinistra riempiendo prima le celle presenti sulle righe
verticaltabular(Nrow,Ncolumn) i group o gli object del documento TALL verranno inseriti partendo dalla cella in alto a sinistra riempiendo prima le celle presenti sulle colonne
checked descrizione
bordure descrizione
cross descrizione
saltire descrizione
circle descrizione
star descrizione
random descrizione
triangle descrizione
overlap allocates the same space for all object sovrappone il contenuto degli object
priority 0..1 E' un valore compreso fra 0 e 1 ed indica quanto una proprietÓ sia importante nel caso in cui pi¨ proprietÓ siano in contrasto tra loro
alignment vertical above Allinea "in alto" il contenuto rispetto ad una disposizione verticale della propria area
center Allinea "centralmente" il contenuto rispetto ad una disposizione verticale della propria area
below Allinea "in basso" il contenuto rispetto ad una disposizione verticale della propria area
horizontal left Allinea "a sinistra" il contenuto rispetto ad una disposizione orizontale della propria area
center Allinea "centralmente" il contenuto rispetto ad una disposizione orizontale della propria area
right Allinea "a destra" il contenuto rispetto ad una disposizione orizontale della propria area
priority 0..1 E' un valore compreso fra 0 e 1 ed indica quanto una proprietÓ sia importante nel caso in cui pi¨ proprietÓ siano in contrasto tra loro
similarity width Crea due object della stessa larghezza
height Crea due object della stessa altezza
color [DEFAULT] Crea due object dello stesso colore
area Crea due object con la stessa dimensione dell'area
priority 0..1 E' un valore compreso fra 0 e 1 ed indica quanto una proprietÓ sia importante nel caso in cui pi¨ proprietÓ siano in contrasto tra loro
proximity weak i group o gli object possono non essere "vicini"
strong i group o gli object devono essere "vicini"
priority 0..1 E' un valore compreso fra 0 e 1 ed indica quanto una proprietÓ sia importante nel caso in cui pi¨ proprietÓ siano in contrasto tra loro

Use cases

Volantino pubblicitario

Creiamo un volantino pubblicitario utilizzando Tall. Abbiamo varie offerte, vogliamo che: il logo e il nome dell'azienda siano "vicini", il nome dell'azienda e il testo dell'offerta 4 siano sovrapposti a delle immagini. Le offerte 1 e 2 sono le pi¨ importanti, vogliamo che ad esse sia riservata una posizione migliore nel layout finale e che occupino un area maggiore. Vogliamo che le offerte 3, 4, 5, 6 e 7 siano visualizzate in una tabella dove ogni riga sia composta dall'immagine del prodotto e dalla relativa offerta. Le offerte 8 e 9 sono meno importanti e quindi occuperanno una posizione secondaria nel layout o saranno eliminate se lo spazio a disposizione non ci consente di visualizzarle.

<tall:context xmlns:fo="http://www.w3.org/1999/XSL/Format"
              xmlns:svg="http://www.w3.org/2000/svg" 
              xmlns:tall="http://www.unibo.it/~fabio/tall" 
              width="297mm" height="210mm" resolution="300dpi" 
              margin.width="297mm" margin.height="180mm"
              color="#0000FF"
              layout="vertical"
              alignment.horizontal="center"
              overflow="hidden">
   <tall:group width="100%" height="100%">
      <tall:group importance="high" proximity="strong">
         <tall:object>
            <svg> 
               logo
            </svg>
         </tall:object>
         <tall:group layout="overlap">
            <tall:object>
               <svg> 
                  immagine di sfondo
               </svg>
            </tall:object> 
            <tall:object>
               <fo:block>
                  nome
               </fo:block>
            </tall:object>
         </tall:group>
      </tall:group>
      <tall:group importance="high" similarity="area" order="true"> 
         <tall:object>
            <fo:block>
               offerta 1
            </fo:block>
         </tall:object>
         <tall:object>
            <fo:block>
               offerta 2
            </fo:block>
         </tall:object>
      </tall:group>
      <tall:group layout="horizontaltabular(5,2)" border="1" similarity="area">  
         <tall:object>
            <svg> 
               img3
            </svg>
         </tall:object>
         <tall:object>
            <fo:block>
               offerta 3
            </fo:block>
         </tall:object>
         <tall:object>
            <svg> 
               img4
            </svg>
         </tall:object>
         <tall:group layout="overlap">   
            <tall:object>
               <svg> 
                  immagine di sfondo
               </svg>
            </tall:object>
            <tall:object>
               <fo:block>
                  offerta 4
               </fo:block>
            </tall:object>
         </tall:group>
         <tall:object>
            <svg> 
               img5
            </svg>
         </tall:object>
         <tall:object>
            <fo:block>
               offerta 5
            </fo:block>
         </tall:object>
         <tall:object>
            <svg> 
               img6
            </svg>
         </tall:object>
         <tall:object>
            <fo:block>
               offerta 6
            </fo:block>
         </tall:object>
         <tall:object>
            <svg> 
               img7
            </svg>
         </tall:object>
         <tall:object>
            <fo:block>
               offerta 7
            </fo:block>
         </tall:object>
      </tall:group>
      <tall:group>
         <tall:object importance="low">
            <fo:block>
               offerta 8
            </fo:block>
         </tall:object>
         <tall:object importance="low">
            <fo:block>
               offerta 9
            </fo:block>
         </tall:object>
      </tall:group>
   </tall:group>
</tall:context>

Vediamo due possibili risultati:

ris1.PNG ris2.PNG

Notiamo alcune delle possibili differenze che possiamo avere partendo dal file TALL dell'esempio: Nel risultato visualizzato a sinistra vengono visualizzate tutte le offerte, le offerte 1 e 2 occupano un area maggiore e hanno una posizione privilegiata. Nel risultato di destra notiamo che per le offerte 1 e 2 Ŕ stata destinata un area maggiore che ha tolto spazio alle offerte 8 e 9 che avendo il valore: importance="low", non compaiono nel risultato.

Vediamo uno dei possibili risultati che si avrebbero se cambiamo le dimensioni del context:

<tall:context xmlns:fo="http://www.w3.org/1999/XSL/Format"
              xmlns:svg="http://www.w3.org/2000/svg" 
              xmlns:tall="http://www.unibo.it/~fabio/tall" 
              width="600mm" height="50mm" resolution="300dpi" 
              color="#0000FF"
              layout="vertical"
              alignment.horizontal="center"
              overflow="hidden">
...
</tall:context>

risLungo2.PNG

Vediamo il risultato che si ottiene cambiando il valore di layout da "vertical" a "horizontal":

<tall:context xmlns:fo="http://www.w3.org/1999/XSL/Format"
              xmlns:svg="http://www.w3.org/2000/svg" 
              xmlns:tall="http://www.unibo.it/~fabio/tall" 
              width="600mm" height="50mm" resolution="300dpi" 
              color="#0000FF"
              layout="horizontal"
              alignment.horizontal="center"
              overflow="hidden">
...
</tall:context>

risLungo.PNG

Volantino pubblicitario con layout cross

Abbiamo un volantino pubblicitario simile all'esempio differente. In questo caso vogliamo che le offerte siano disposte a croce. Le offerte pi¨ importanti sono la 1 e la 2, mentre l'offerta meno importante Ŕ la 7.

<tall:context xmlns:fo="http://www.w3.org/1999/XSL/Format"
              xmlns:svg="http://www.w3.org/2000/svg" 
              xmlns:tall="http://www.unibo.it/~fabio/tall" 
              width="297mm" height="210mm" resolution="300dpi" 
              margin.width="297mm" margin.height="180mm"
              color="#0000FF"
              layout="vertical"
              alignment.horizontal="center"
              overflow="hidden">
   <tall:group width="100%" height="100%">
      <tall:group importance="high" proximity="strong">
         <tall:object>
            <svg> 
               logo
            </svg>
         </tall:object>
         <tall:group layout="overlap">
            <tall:object>
               <svg> 
                  imagine di sfondo
               </svg>
            </tall:object> 
            <tall:object>
               <fo:block>
                  nome
               </fo:block>
            </tall:object>
         </tall:group>
      </tall:group>
      <tall:group layout="cross">  
         <tall:object importance="high">
            <fo:block>
               offerta 1
            </fo:block>
         </tall:object>
         <tall:object importance="high">
            <fo:block>
               offerta 2
            </fo:block>
         </tall:object>         
         <tall:object>
            <fo:block>
               offerta 3
            </fo:block>
         </tall:object>
         <tall:object>
            <fo:block>
               offerta 4
            </fo:block>
         </tall:object>
         <tall:object>
            <fo:block>
               offerta 5
            </fo:block>
         </tall:object>            
         <tall:object>
            <fo:block>
               offerta 6
            </fo:block>
         </tall:object>                       
         <tall:object importance="low">
            <fo:block>
               offerta 7
            </fo:block>
         </tall:object>            
      </tall:group>
   </tall:group>
</tall:context>

Vediamo il risultato:

ris3.PNG

Copertina di un libro

Creiamo una copertina di un libro utilizzando Tall. Abbiamo cinque parti: la prima di copertina, la quarta di copertina, il dorso e i due piatti, ogni parte ha delle relazioni particolari.

<tall:context xmlns:fo="http://www.w3.org/1999/XSL/Format"
              xmlns:svg="http://www.w3.org/2000/svg" 
              xmlns:tall="http://www.unibo.it/~fabio/tall" 
              width="500mm" height="210mm" resolution="420dpi" 
              margin.width="480mm" margin.height="180mm"
              color="#FFFFFF"
              layout="horizontal"
              alignment.horizontal="center"
              overflow="hidden">
   <tall:group width="100%" height="100%" order="true">
      <tall:group width="15%" height="100%">
         <tall:object alignment.vertical="above" area="100%">
            <fo:block>
               informazioni autore
            </fo:block>
         </tall:object>
      </tall:group>
      <tall:group width="35%" color="##9999FF" layout="overlap">
         <tall:object>
            <svg> 
               imagine 4 di sfondo
            </svg>
         </tall:object> 
         <tall:object>
            <fo:block>
               testo del retro
            </fo:block>
         </tall:object>
      </tall:group>
      <tall:group width="10%">
         <tall:group layout="vertical" order="true">  
            <tall:group proximity="strong">            
               <tall:object>
                  <svg> 
                     img1
                  </svg>
               </tall:object>
               <tall:object>
                  <fo:block>
                     titolo
                  </fo:block>
               </tall:object>           
            </tall:group>         
         <tall:object>
            <fo:block>
               autore
            </fo:block>
         </tall:object>
      </tall:group>
      <tall:group width="35%" color="##9999FF">         
         <tall:object>
            <fo:block>
               autore
            </fo:block>            
         </tall:object>
         <tall:object importance="high">
            <fo:block>
               titolo
            </fo:block>
         </tall:object>
         <tall:object>
            <svg> 
               img2
            </svg>
         </tall:object>
         <tall:object proximity="weak">
            <svg> 
               img3
            </svg>
         </tall:object>
      </tall:group>
      <tall:group width="15%">
         <tall:object alignment.vertical="above" area="100%">
            <fo:block>
               informazioni libro
            </fo:block>
         </tall:object>
      </tall:group>
   </tall:group>               
</tall:context>

cov1.PNG

XML Schema TALL

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tall="http://www.cs.unibo.it/tall" targetNamespace="http://www.cs.unibo.it/tall" elementFormDefault="qualified" attributeFormDefault="unqualified">
   <xs:element name="context">
      <xs:complexType>
         <xs:sequence>
            <xs:element ref="tall:group"/>
         </xs:sequence>
         <xs:attribute ref="tall:width" use="required"/>
         <xs:attribute ref="tall:height" use="required"/>
         <xs:attribute ref="tall:aspect-ratio"/>
         <xs:attribute ref="tall:area"/>
         <xs:attribute ref="tall:margin.width"/>
         <xs:attribute ref="tall:margin.height"/>
         <xs:attribute ref="tall:resolution" use="required"/>
         <xs:attribute ref="tall:color"/>
         <xs:attribute ref="tall:border"/>
         <xs:attribute ref="tall:overflow"/>
         <xs:attribute ref="tall:overflow.priority"/>
         <xs:attribute ref="tall:layout"/>
         <xs:attribute ref="tall:layout.priority"/>
         <xs:attribute ref="tall:alignment.vertical"/>
         <xs:attribute ref="tall:alignment.horizontal"/>
         <xs:attribute ref="tall:alignment.priority"/>
      </xs:complexType>
   </xs:element>
   <xs:element name="group">
      <xs:complexType>
         <xs:sequence maxOccurs="unbounded">
            <xs:choice>
               <xs:element ref="tall:object"/>
               <xs:element ref="tall:group"/>
            </xs:choice>
         </xs:sequence>
         <xs:attribute ref="tall:width"/>
         <xs:attribute ref="tall:height"/>
         <xs:attribute ref="tall:aspect-ratio"/>
         <xs:attribute ref="tall:area"/>
         <xs:attribute ref="tall:margin.width"/>
         <xs:attribute ref="tall:margin.height"/>
         <xs:attribute ref="tall:color"/>
         <xs:attribute ref="tall:border"/>
         <xs:attribute ref="tall:importance"/>
         <xs:attribute ref="tall:importance.priority"/>
         <xs:attribute ref="tall:overflow"/>
         <xs:attribute ref="tall:overflow.priority"/>
         <xs:attribute ref="tall:layout"/>
         <xs:attribute ref="tall:layout.priority"/>
         <xs:attribute ref="tall:alignment.vertical"/>
         <xs:attribute ref="tall:alignment.horizontal"/>
         <xs:attribute ref="tall:alignment.priority"/>
         <xs:attribute name="similarity" type="tall:STsimilarity"/>
         <xs:attribute name="order" type="xs:boolean" default="false"/>
         <xs:attribute name="similarity.priority" type="tall:STpriority"/>
         <xs:attribute name="order.priority" type="tall:STpriority"/>
      </xs:complexType>
   </xs:element>
   <xs:element name="object">
      <xs:complexType>
         <xs:choice>
            <xs:any namespace="http://www.w3.org/2000/svg" processContents="skip"/>
            <xs:any namespace="http://www.w3.org/1999/XSL/Format" processContents="skip"/>
         </xs:choice>
         <xs:attribute ref="tall:width"/>
         <xs:attribute ref="tall:height"/>
         <xs:attribute ref="tall:aspect-ratio"/>
         <xs:attribute ref="tall:area"/>
         <xs:attribute ref="tall:margin.width"/>
         <xs:attribute ref="tall:margin.height"/>
         <xs:attribute ref="tall:color"/>
         <xs:attribute ref="tall:border"/>
         <xs:attribute ref="tall:importance"/>
         <xs:attribute ref="tall:importance.priority"/>
         <xs:attribute ref="tall:overflow"/>
         <xs:attribute ref="tall:overflow.priority"/>
         <xs:attribute ref="tall:alignment.vertical"/>
         <xs:attribute ref="tall:alignment.horizontal"/>
         <xs:attribute ref="tall:alignment.priority"/>
         <xs:attribute ref="tall:proximity"/>
         <xs:attribute ref="tall:proximity.priority"/>
      </xs:complexType>
   </xs:element>
   <xs:simpleType name="STpriority">
      <xs:restriction base="xs:decimal"/>
   </xs:simpleType>
   <xs:simpleType name="SToverflow">
      <xs:restriction base="xs:string">
         <xs:enumeration value="repeat"/>
         <xs:enumeration value="hidden"/>
         <xs:enumeration value="scrollX"/>
         <xs:enumeration value="scrollY"/>
         <xs:enumeration value="scrollXY"/>
         <xs:enumeration value="stretchX"/>
         <xs:enumeration value="stretchY"/>
         <xs:enumeration value="stretchXY"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="overflow" type="tall:SToverflow" default="hidden"/>
   <xs:attribute name="overflow.priority" type="tall:STpriority" default="0"/>
   <xs:simpleType name="STimportance">
      <xs:restriction base="xs:string">
         <xs:enumeration value="high"/>
         <xs:enumeration value="medium"/>
         <xs:enumeration value="low"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="importance" type="tall:STimportance"/>
   <xs:attribute name="importance.priority" type="tall:STpriority"/>
   <xs:simpleType name="STaspect-ratio">
      <xs:restriction base="xs:positiveInteger"/>
   </xs:simpleType>
   <xs:attribute name="aspect-ratio" type="tall:STaspect-ratio"/>
   <xs:simpleType name="STresolution">
      <xs:restriction base="xs:integer">
         <xs:minExclusive value="0"/>
         <xs:pattern value="\d+dpi"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="resolution" type="tall:STresolution"/>
   <xs:simpleType name="STborder">
      <xs:restriction base="xs:integer">
         <xs:minInclusive value="0"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="border" type="tall:STborder" default="0"/>
   <xs:simpleType name="STlayout">
      <xs:union>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="one-dimensional"/>
               <xs:enumeration value="two-dimensional"/>
               <xs:enumeration value="horizontal"/>
               <xs:enumeration value="lines"/>
               <xs:enumeration value="vertical"/>
               <xs:enumeration value="columns"/>
               <xs:enumeration value="checked"/>
               <xs:enumeration value="bordure"/>
               <xs:enumeration value="cross"/>
               <xs:enumeration value="saltire"/>
               <xs:enumeration value="circle"/>
               <xs:enumeration value="star"/>
               <xs:enumeration value="rendom"/>
               <xs:enumeration value="triangle"/>
               <xs:enumeration value="overlap"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:pattern value="tabular\(\d,\d\) | horizontaltabular\(\d,\d\) | verticaltabular\(\d,\d\)"/>
            </xs:restriction>
         </xs:simpleType>
      </xs:union>
   </xs:simpleType>
   <xs:attribute name="layout" type="tall:STlayout"/>
   <xs:attribute name="layout.priority" type="tall:STpriority"/>
   <xs:simpleType name="STAvertical">
      <xs:restriction base="xs:string">
         <xs:enumeration value="above"/>
         <xs:enumeration value="center"/>
         <xs:enumeration value="below"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="alignment.vertical" type="tall:STAvertical"/>
   <xs:simpleType name="STAhorizontal">
      <xs:restriction base="xs:string">
         <xs:enumeration value="left"/>
         <xs:enumeration value="center"/>
         <xs:enumeration value="right"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="alignment.horizontal" type="tall:STAhorizontal"/>
   <xs:attribute name="alignment.priority" type="tall:STpriority"/>
   <xs:simpleType name="STproximity">
      <xs:restriction base="xs:string">
         <xs:enumeration value="weak"/>
         <xs:enumeration value="strong"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="proximity" type="tall:STproximity"/>
   <xs:attribute name="proximity.priority" type="tall:STpriority"/>
   <xs:simpleType name="STsimilarity">
      <xs:restriction base="xs:string">
         <xs:enumeration value="width"/>
         <xs:enumeration value="height"/>
         <xs:enumeration value="color"/>
         <xs:enumeration value="area"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="STcolor">
      <xs:restriction base="xs:string">
         <xs:length value="7"/>
         <xs:pattern value="#+\d"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="color" type="tall:STcolor"/>
   <xs:simpleType name="STunit">
      <xs:restriction base="xs:string">
         <xs:pattern value="\d+(cm | mm | in | pixel | em | %)"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="width" type="tall:STunit"/>
   <xs:attribute name="height" type="tall:STunit"/>
   <xs:attribute name="margin.width" type="tall:STunit"/>
   <xs:attribute name="margin.height" type="tall:STunit"/>
   <xs:simpleType name="STarea">
      <xs:restriction base="xs:string">
         <xs:pattern value="\d+(cm^2 | mm^2 | %)"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:attribute name="area" type="tall:STarea"/>
</xs:schema>

-- JacopoDeCesare - 15 Sep 2007


to top


You are here: Tesi > CompleteSyntax

to top

Copyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Fabio's Wiki? Send feedback