Source for org.w3c.dom.css.CSSStyleSheet

   1: /*
   2:  * Copyright (c) 2000 World Wide Web Consortium,
   3:  * (Massachusetts Institute of Technology, Institut National de
   4:  * Recherche en Informatique et en Automatique, Keio University). All
   5:  * Rights Reserved. This program is distributed under the W3C's Software
   6:  * Intellectual Property License. This program is distributed in the
   7:  * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
   8:  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
   9:  * PURPOSE.
  10:  * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
  11:  */
  12: 
  13: package org.w3c.dom.css;
  14: 
  15: import org.w3c.dom.DOMException;
  16: import org.w3c.dom.stylesheets.StyleSheet;
  17: 
  18: /**
  19:  *  The <code>CSSStyleSheet</code> interface is a concrete interface used to
  20:  * represent a CSS style sheet i.e., a style sheet whose content type is
  21:  * "text/css".
  22:  * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
  23:  * @since DOM Level 2
  24:  */
  25: public interface CSSStyleSheet extends StyleSheet {
  26:     /**
  27:      *  If this style sheet comes from an <code>@import</code> rule, the
  28:      * <code>ownerRule</code> attribute will contain the
  29:      * <code>CSSImportRule</code>. In that case, the <code>ownerNode</code>
  30:      * attribute in the <code>StyleSheet</code> interface will be
  31:      * <code>null</code>. If the style sheet comes from an element or a
  32:      * processing instruction, the <code>ownerRule</code> attribute will be
  33:      * <code>null</code> and the <code>ownerNode</code> attribute will
  34:      * contain the <code>Node</code>.
  35:      */
  36:     public CSSRule getOwnerRule();
  37: 
  38:     /**
  39:      *  The list of all CSS rules contained within the style sheet. This
  40:      * includes both rule sets and at-rules.
  41:      */
  42:     public CSSRuleList getCssRules();
  43: 
  44:     /**
  45:      *  Used to insert a new rule into the style sheet. The new rule now
  46:      * becomes part of the cascade.
  47:      * @param rule  The parsable text representing the rule. For rule sets
  48:      *   this contains both the selector and the style declaration. For
  49:      *   at-rules, this specifies both the at-identifier and the rule
  50:      *   content.
  51:      * @param index  The index within the style sheet's rule list of the rule
  52:      *   before which to insert the specified rule. If the specified index
  53:      *   is equal to the length of the style sheet's rule collection, the
  54:      *   rule will be added to the end of the style sheet.
  55:      * @return  The index within the style sheet's rule collection of the
  56:      *   newly inserted rule.
  57:      * @exception DOMException
  58:      *   HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the
  59:      *   specified index e.g. if an <code>@import</code> rule is inserted
  60:      *   after a standard rule set or other at-rule.
  61:      *   <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid
  62:      *   insertion point.
  63:      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
  64:      *   readonly.
  65:      *   <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and
  66:      *   is unparsable.
  67:      */
  68:     public int insertRule(String rule,
  69:                           int index)
  70:                           throws DOMException;
  71: 
  72:     /**
  73:      *  Used to delete a rule from the style sheet.
  74:      * @param index  The index within the style sheet's rule list of the rule
  75:      *   to remove.
  76:      * @exception DOMException
  77:      *   INDEX_SIZE_ERR: Raised if the specified index does not correspond to
  78:      *   a rule in the style sheet's rule list.
  79:      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
  80:      *   readonly.
  81:      */
  82:     public void deleteRule(int index)
  83:                            throws DOMException;
  84: 
  85: }