|
|||||||||
PREV CLASS NEXT CLASS | |||||||||
SUMMARY: NESTED | UML | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--orgxml.sax.helpers.DefaultHandler | +--uaw.sensemarcs.AnalitzadorFramesets
AnalitzadorFramesets es un ContentHandler de SAXParser para analizar documentos XHTML de definición de marcos. En el análisis guarda el nombre de los marcos, su título y también como los marcos dividen el espacio de pantalla. Como resultado del análisis crea un objeto EstructuraDivisions que guarda las reglas CSS correspondientes a la compaginación definida por los marcos.
uaw.EstructuraDivisions
, uaw.Caixa
, www.w3.org/TR/CSS2,
wwww.w3.org/TR/xhtml1/xhtml1-frameset.dtd
UML data model | |
legend |
graphical
representation
|
Field Summary | |
protected static int
|
COLS Constante para indicar que estamos tratando el atributo cols. |
private EstructuraDivisions
|
ed La clase en la que se guarda la información de posicionamiento de los marcos. |
private EstructuraDivisions
|
edAux Una EstructuraDivisions auxiliar para cambiar el orden y otras manipulaciones. |
private boolean
|
inicialitzat Constante para indicar si el analizador está inicializado |
private int
|
numframeset
Constante para guardar el número de framesets analizados. |
protected static int
|
ROWS Constante para indicar que estamos tratando el atributo rows. |
private boolean
|
rowsDef Constante para indicar si ya se han definido las filas en el frameset actual. |
Constructor Summary | |
AnalitzadorFramesets
() Crea un nuevo analizador. |
Method Summary | |
private int
|
enter
(java.lang.String s) Método auxiliar que lee el valor entero de una cadena, eliminando los caracteres textuales que pueda contener. |
EstructuraDivisions
|
getEstructuraDivisions
() Devuelve la EstructuraDivisions resultante del análisis. |
void
|
setBorder
(Caixa c,
java.lang.String margen) Realiza una traducción de los márgenes establecidos en el atributo frameborder del elemento frame a la propiedad border CSS. |
void
|
setOverflow
(Caixa c,
java.lang.String scroll) Realiza una traducción del scroll establecido en el atributo scrolling del elemento frame a la propiedad overflow CSS. |
void
|
startElement (java.lang.String uri,
java.lang.String tagName, java.lang.String qname,
org.xml.sax.Attributes attrList) Análisis de las etiquetas frame y frameset para construir la EstructuraDivisions. |
protected
java.util.Stack
|
traduirMides
(int tipus, java.lang.String mides) A partir de la definición del tamaño de los marcos en la página de definición de marcos se crean las medidas de las cajas en la compaginación CSS. |
Methods inherited from class org.xml.sax.helpers.DefaultHandler |
characters, endDocument, endElement,
endPrefixMapping, error, fatalError, ignorableWhitespace,
notationDecl, processingInstruction, resolveEntity,
setDocumentLocator, skippedEntity, startDocument,
startPrefixMapping, unparsedEntityDecl, warning
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify,
notifyAll, toString, wait, wait, wait
|
Field Detail |
protected static final int COLS
Constante para indicar que estamos tratando el atributo cols.
protected static final int ROWS
Constante para indicar que estamos tratando el atributo rows.
private EstructuraDivisions ed
La clase en la que se guarda la información de posicionamiento de los marcos.
private EstructuraDivisions edAux
Una EstructuraDivisions auxiliar para cambiar el orden y otras manipulaciones
private boolean inicialitzat
Constante para indicar si el analizador está inicializado Concretamente indica si se han creado los campos necesarios y se ha leído ya el primer frameset.
private int numframeset
Constante para guardar el número de framesets analizados.
private boolean rowsDef
Constructor Detail |
public AnalitzadorFramesets()
Method Detail |
private int enter(java.lang.String s)
Método auxiliar que lee el valor entero de una cadena, eliminando los caracteres textuales que pueda contener. Si la cadena es nula devuelve 0.
s
- la cadena a traducir
public EstructuraDivisions getEstructuraDivisions() throws UawException
Devuelve la EstructuraDivisions resultante del análisis.
UawException
- si se han producido problemas en la creación de la EstructuraDivisions
public void setBorder(Caixa c, java.lang.String margen) throws UawException
Realiza una traducción de los márgenes establecidos en el atributo frameborder del elemento frame a la propiedad border CSS. Si frameborder establecía márgenes, border tendrá un estilo sólido y el grosor de un píxel.
c
- la caja a la que hay que aplicar el marcomargen
- el valor del atributo frameborder
UawException
- si se ha producido algún problema en la asignación del marco a cpublic void setOverflow(Caixa c, java.lang.String scroll) throws UawException
Realiza una traducción del scroll establecido en el atributo scrolling del elemento frame a la propiedad overflow CSS.
c
- la caja a la que hay que aplicar el overflow
scroll
- el valor del atributo scrolling
UawException
- si se ha producido algún problema en la asignación de overflow a cpublic void startElement(java.lang.String uri, java.lang.String tagName, java.lang.String qname, org.xml.sax.Attributes attrList) throws org.xml.sax.SAXException
Análisis de las etiquetas frame y frameset para construir la EstructuraDivisions
startElement
in interface
org.xml.sax.ContentHandler
startElement
in class
org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
- si hay más etiquetas frame que las definidas en frameset o si se ha producido alguna UawException en la manipulación de
las cajasprotected java.util.Stack traduirMides(int tipus, java.lang.String mides) throws java.lang.IllegalArgumentException
A partir de la definición del tamaño de los marcos en la página de definición de marcos se crean las medidas de las cajas en la compaginación CSS.
Las medidas CSS se leen de izquierda a derecha o bien de arriba a abajo (según tipus), se guardan en objetos Caixa y se empilan en el resultado.
La transformación no cambia el valor de las medidas absolutas ni las porcentuales. Las medidas de tipo "#*" se transforman a porcentuales y las de tipo "*" no se transforman y se indica que son indefinidas. Se guarda la definición de la medida original por si se desea consultar posteriormente.
Precondiciones:
Si no se cumplen estas precondiciones no se garantiza la validez de los resultados.
tipus
- puede ser ROWS o COLS
mides
- la cadena con las medidas java.lang.IllegalArgumentException
- si tipus no es correcto
|
|||||||||
PREV CLASS NEXT CLASS | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |