1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
|
/*
* Copyright (c) 1999 World Wide Web Consortium
* (Massachusetts Institute of Technology, Institut National de Recherche
* en Informatique et en Automatique, Keio University).
* All Rights Reserved. http://www.w3.org/Consortium/Legal/
*
* $Id: DocumentHandler.java,v 1.4 2000/02/16 21:29:35 plehegar Exp $
*/
package org.w3c.css.sac;
/**
* This is the main interface that most CSS applications implement: if the
* application needs to be informed of basic parsing events, it implements this
* interface and registers an instance with the CSS parser using the
* setCSSHandler method.
*
* @version $Revision: 1.4 $
* @author Philippe Le Hegaret
*/
public interface DocumentHandler {
/**
* Receive notification of the beginning of a style sheet.
*
* The CSS parser will invoke this method only once, before any other
* methods in this interface.
*
* @param uri The URI of the style sheet. @@TODO can be NULL ! (inline style sheet)
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void startDocument(InputSource source)
throws CSSException;
/**
* Receive notification of the end of a document.
*
* The CSS parser will invoke this method only once, and it will be the
* last method invoked during the parse. The parser shall not invoke this
* method until it has either abandoned parsing (because of an
* unrecoverable error) or reached the end of input.
*
* @param uri The URI of the style sheet.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void endDocument(InputSource source) throws CSSException;
/**
* Receive notification of a comment.
* If the comment appears in a declaration (e.g. color: /* comment * / blue;),
* the parser notifies the comment before the declaration.
*
* @param text The comment.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void comment(String text) throws CSSException;
/**
* Receive notification of an unknown rule t-rule not supported by this
* parser.
*
* @param at-rule The complete ignored at-rule.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void ignorableAtRule(String atRule) throws CSSException;
/**
* Receive notification of an unknown rule t-rule not supported by this
* parser.
*
* @param prefix <code>null</code> if this is the default namespace
* @param uri The URI for this namespace.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void namespaceDeclaration(String prefix, String uri)
throws CSSException;
/**
* Receive notification of a import statement in the style sheet.
*
* @param uri The URI of the imported style sheet.
* @param media The intended destination media for style information.
* @param defaultNamepaceURI The default namespace URI for the imported
* style sheet.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void importStyle(String uri, SACMediaList media,
String defaultNamespaceURI)
throws CSSException;
/**
* Receive notification of the beginning of a media statement.
*
* The Parser will invoke this method at the beginning of every media
* statement in the style sheet. there will be a corresponding endMedia()
* event for every startElement() event.
*
* @param media The intended destination media for style information.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void startMedia(SACMediaList media) throws CSSException;
/**
* Receive notification of the end of a media statement.
*
* @param media The intended destination media for style information.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void endMedia(SACMediaList media) throws CSSException;
/**
* Receive notification of the beginning of a page statement.
*
* The Parser will invoke this method at the beginning of every page
* statement in the style sheet. there will be a corresponding endPage()
* event for every startPage() event.
*
* @param name the name of the page (if any, null otherwise)
* @param pseudo_page the pseudo page (if any, null otherwise)
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void startPage(String name, String pseudo_page) throws CSSException;
/**
* Receive notification of the end of a media statement.
*
* @param media The intended destination medium for style information.
* @param pseudo_page the pseudo page (if any, null otherwise)
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void endPage(String name, String pseudo_page) throws CSSException;
/**
* Receive notification of the beginning of a font face statement.
*
* The Parser will invoke this method at the beginning of every font face
* statement in the style sheet. there will be a corresponding endFontFace()
* event for every startFontFace() event.
*
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void startFontFace() throws CSSException;
/**
* Receive notification of the end of a font face statement.
*
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void endFontFace() throws CSSException;
/**
* Receive notification of the beginning of a rule statement.
*
* @param selectors All intended selectors for all declarations.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void startSelector(SelectorList selectors) throws CSSException;
/**
* Receive notification of the end of a rule statement.
*
* @param selectors All intended selectors for all declarations.
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void endSelector(SelectorList selectors) throws CSSException;
/**
* Receive notification of a declaration.
*
* @param name the name of the property.
* @param value the value of the property. All whitespace are stripped.
* @param important is this property important ?
* @exception CSSException Any CSS exception, possibly wrapping another
* exception.
*/
public void property(String name, LexicalUnit value, boolean important)
throws CSSException;
}
|