commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jstrac...@apache.org
Subject cvs commit: jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/html ParseTag.java
Date Thu, 19 Dec 2002 15:03:51 GMT
jstrachan    2002/12/19 07:03:51

  Modified:    jelly/src/java/org/apache/commons/jelly/tags/html
                        ParseTag.java
  Log:
  Patch to allow the HTML tag library full control over NeckoHTML's ability to convert elements
or attributes to upper or lowercase.
  
  You can now specify if you wish case conversion to be applied when parsing HTML. 
  
  e.g. to upper case the elements but lowercase the attributes you can do...
  
      <html:parse var="doc" html="index.html" element="upper" attribute="lower"/>
  
  or to make everything lower case
  
      <html:parse var="doc" html="index.html" element="lower" attribute="lower"/>
  
  
  The default is to leave case as it was but to match element case (so that open and close
elements have the same case).
  
  Revision  Changes    Path
  1.5       +25 -3     jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/html/ParseTag.java
  
  Index: ParseTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/html/ParseTag.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ParseTag.java	18 Dec 2002 22:48:01 -0000	1.4
  +++ ParseTag.java	19 Dec 2002 15:03:51 -0000	1.5
  @@ -87,6 +87,8 @@
   
       /** The HTML to parse, either a String URI, a Reader or InputStream */
       private Object html;
  +    private String element = "match";
  +    private String attribute = "no-change"; 
   
       public ParseTag() {
       }
  @@ -114,6 +116,26 @@
           this.html = html;
       }
   
  +    /**
  +     * Sets whether attributes should be converted to a different case.
  +     * Possible values are "upper", "lower" or "no-change"
  +     * 
  +     * @param attribute The processing mode of attributes
  +     */
  +    public void setAttribute(String attribute) {
  +        this.attribute = attribute;
  +    }
  +
  +    /**
  +     * Sets whether elements should be converted to a different case
  +     * Possible values are "upper", "lower" or "match"
  +     * 
  +     * @param element The processing mode of elements
  +     */
  +    public void setElement(String element) {
  +        this.element = element;
  +    }
  +
   
       // Implementation methods
       //-------------------------------------------------------------------------       
        
  @@ -122,15 +144,15 @@
        * Factory method to create a new SAXReader
        */    
       protected SAXReader createSAXReader() throws Exception {
  -        // installs the NekoHTML parser
  +        // installs the NeckHTML parser
           SAXParser parser = new SAXParser();
           parser.setProperty(
               "http://cyberneko.org/html/properties/names/elems",
  -            "match"
  +            element
           );
           parser.setProperty(
               "http://cyberneko.org/html/properties/names/attrs",
  -            "match"
  +            attribute
           );
           return new SAXReader( parser );
       }
  
  
  

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message