[Htmlparser-cvs] htmlparser/src/org/htmlparser/lexer/nodes Attribute.java,1.1,1.2 TagNode.java,1.1,1
Brought to you by:
derrickoswald
|
From: <der...@us...> - 2003-08-22 02:40:29
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/lexer/nodes
In directory sc8-pr-cvs1:/tmp/cvs-serv6515/lexer/nodes
Modified Files:
Attribute.java TagNode.java
Log Message:
Fourth drop for new i/o subsystem.
Index: Attribute.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/lexer/nodes/Attribute.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Attribute.java 17 Aug 2003 16:09:28 -0000 1.1
--- Attribute.java 21 Aug 2003 01:52:23 -0000 1.2
***************
*** 33,36 ****
--- 33,38 ----
package org.htmlparser.lexer.nodes;
+ import org.htmlparser.lexer.Page;
+
/**
* An attribute within a tag.
***************
*** 46,49 ****
--- 48,57 ----
public class Attribute
{
+ Page mPage;
+ int mNameStart;
+ int mNameEnd;
+ int mValueStart;
+ int mValueEnd;
+
/**
* The name of this attribute.
***************
*** 64,67 ****
--- 72,93 ----
/**
+ * Create an attribute.
+ * todo
+ * @param quote The quote, if any, surrounding the value of the attribute,
+ * (i.e. ' or "), or zero if none.
+ */
+ public Attribute (Page page, int name_start, int name_end, int value_start, int value_end, char quote)
+ {
+ mPage = page;
+ mNameStart = name_start;
+ mNameEnd = name_end;
+ mValueStart = value_start;
+ mValueEnd = value_end;
+ mName = null;
+ mValue = null;
+ mQuote = quote;
+ }
+
+ /**
* Create an attribute with the name, value and quote character given.
* @param name The name of this attribute, or null if it's just whitespace.
***************
*** 84,87 ****
--- 110,116 ----
public String getName ()
{
+ if (null == mName)
+ if (-1 != mNameStart)
+ mName = mPage.getText (mNameStart, mNameEnd);
return (mName);
}
***************
*** 95,98 ****
--- 124,130 ----
public String getValue ()
{
+ if (null == mValue)
+ if (-1 != mValueStart)
+ mValue = mPage.getText (mValueStart, mValueEnd);
return (mValue);
}
Index: TagNode.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/lexer/nodes/TagNode.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TagNode.java 17 Aug 2003 16:09:28 -0000 1.1
--- TagNode.java 21 Aug 2003 01:52:23 -0000 1.2
***************
*** 193,196 ****
--- 193,197 ----
Attribute attribute;
String value;
+ StringBuffer _value;
Hashtable ret;
***************
*** 210,216 ****
value = attribute.getValue ();
if ('\'' == attribute.getQuote ())
! value = "'" + value + "'";
else if ('"' == attribute.getQuote ())
! value = "\"" + value + "\"";
else if ((null != value) && value.equals (""))
value = NOTHING;
--- 211,229 ----
value = attribute.getValue ();
if ('\'' == attribute.getQuote ())
! {
! _value = new StringBuffer (value.length () + 2);
! _value.append ("'");
! _value.append (value);
! _value.append ("'");
! value = _value.toString ();
! }
else if ('"' == attribute.getQuote ())
! {
! _value = new StringBuffer (value.length () + 2);
! _value.append ("\"");
! _value.append (value);
! _value.append ("\"");
! value = _value.toString ();
! }
else if ((null != value) && value.equals (""))
value = NOTHING;
|