[Idrs-commit] CVS: Idrs/dev/src/net/sourceforge/idrs/deploy/macro MacroToXML.class,1.2,1.3 MacroToXM
Brought to you by:
bigman921
|
From: Marc B. <big...@us...> - 2002-01-19 17:42:49
|
Update of /cvsroot/idrs/Idrs/dev/src/net/sourceforge/idrs/deploy/macro
In directory usw-pr-cvs1:/tmp/cvs-serv27321/dev/src/net/sourceforge/idrs/deploy/macro
Modified Files:
MacroToXML.class MacroToXML.java MacroToXMLHandler.class
MacroToXMLHandler.java
Log Message:
The macro translation process is MOSTLY working, there are still a couple of bugs to kick out of the system though
Index: MacroToXML.class
===================================================================
RCS file: /cvsroot/idrs/Idrs/dev/src/net/sourceforge/idrs/deploy/macro/MacroToXML.class,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
Binary files /tmp/cvsB3nSyx and /tmp/cvsyHH7SU differ
Index: MacroToXML.java
===================================================================
RCS file: /cvsroot/idrs/Idrs/dev/src/net/sourceforge/idrs/deploy/macro/MacroToXML.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** MacroToXML.java 2002/01/19 07:00:36 1.5
--- MacroToXML.java 2002/01/19 17:42:46 1.6
***************
*** 11,17 ****
Writer out;
MacroToXMLHandler info;
!
public MacroToXML(String parser, String xmlSrc, boolean isFile) throws Exception {
XMLReader xmlParser = XMLReaderFactory.createXMLReader(parser);
InputSource in;
info = new MacroToXMLHandler();
--- 11,23 ----
Writer out;
MacroToXMLHandler info;
! boolean inSimple;
! boolean inHead;
! String currentTagName;
!
public MacroToXML(String parser, String xmlSrc, boolean isFile) throws Exception {
+ inHead = false;
+ inSimple = false;
XMLReader xmlParser = XMLReaderFactory.createXMLReader(parser);
+
InputSource in;
info = new MacroToXMLHandler();
***************
*** 39,65 ****
String curr = "", tag="";
! do {
! end = rmlSrc.indexOf("<");
isScript = isScriptTag(end);
curr = rmlSrc.substring(begin,end);
! outText(curr);
if (isScript) {
tagEnd = outScript(end);
}
else {
tagEnd = readTag(end);
- outText(curr);
- tag = rmlSrc.substring(end + 1, tagEnd);
! if (isRMLTag(tag))
outTag(tag);
! else
outText(tag);
}
! begin = tagEnd + 1;
}
! while (end != -1);
}
--- 45,84 ----
String curr = "", tag="";
+ end = rmlSrc.indexOf("<",begin);
! while (end != -1) {
!
isScript = isScriptTag(end);
curr = rmlSrc.substring(begin,end);
!
! //debug
! System.out.println("text : " + curr);
!
!
if (isScript) {
+ outText(curr);
tagEnd = outScript(end);
}
else {
tagEnd = readTag(end);
! tag = rmlSrc.substring(end, tagEnd);
!
! System.out.print("tag : " + tag);
!
! if (isRMLTag(tag)) {
! outText(curr);
outTag(tag);
! }
! else {
! outText(curr);
outText(tag);
+ }
}
! begin = tagEnd;
! end = rmlSrc.indexOf("<",begin);
}
!
}
***************
*** 86,118 ****
protected void outText(String txt) throws IOException {
! out.write("<" + info.getNameSpace() + ":" + info.getTextTag() + ">");
out.write(xmlEncode(txt));
! out.write("</" + info.getNameSpace() + ":" + info.getTextTag() + ">");
}
protected int readTag(int begin) {
! return rmlSrc.indexOf(">", begin);
}
protected boolean isRMLTag(String tag) {
! int begin=0, end=0;
char c;
c = tag.charAt(1);
String tagName;
if (c == '/') {
begin = 2;
}
else {
begin = 1;
}
! tagName = tag.substring(begin,tag.indexOf(" ",begin));
! return info.isRMLTag(tag.toLowerCase().trim());
}
protected void outTag(String tag) throws IOException {
! int begin=0, end=0;
char c;
c = tag.charAt(1);
--- 105,162 ----
protected void outText(String txt) throws IOException {
! if (txt.length() == 0) return;
!
! if ((! this.inSimple) && (! this.inHead))
! out.write("<" + info.getNameSpace() + ":" + info.getTextTag() + ">");
!
out.write(xmlEncode(txt));
!
! if ((! this.inSimple) && (! this.inHead))
! out.write("</" + info.getNameSpace() + ":" + info.getTextTag() + ">");
!
! inSimple = false;
}
protected int readTag(int begin) {
! return rmlSrc.indexOf(">", begin)+1;
}
protected boolean isRMLTag(String tag) {
! int begin=0, end=0,tmp;
char c;
c = tag.charAt(1);
String tagName;
+ boolean inTag, isTag;
if (c == '/') {
begin = 2;
+ inTag = true;
}
else {
begin = 1;
+ inTag = false;
}
! tmp = tag.indexOf(" ",begin);
! if (tmp == -1) {
! tmp = tag.indexOf(">",begin);
! }
! tagName = tag.substring(begin,tmp);
!
! this.currentTagName=tagName;
!
! isTag = info.isRMLTag(tagName.toLowerCase().trim());
! if (inTag && isTag)
! this.inSimple = info.isTagSimple(tagName.toLowerCase().trim());
!
! if (isTag && tagName.toLowerCase().trim().equalsIgnoreCase("head"))
! this.inHead = ! this.inHead;
!
! return isTag;
}
protected void outTag(String tag) throws IOException {
! int begin=0, end=0,tmp;
char c;
c = tag.charAt(1);
***************
*** 122,136 ****
String token;
! if (c == '/') {
! begin = 2;
! }
! else {
! begin = 1;
! }
!
! end = tag.indexOf(" ",begin);
! tagName = tag.substring(begin,end);
! out.write("<" + ((c=='/') ? "/" : "") + info.getNameSpace() + ":" + info.getCorrectRMLTagName(tagName) + " ");
begin = end;
--- 166,173 ----
String token;
!
! tagName = this.currentTagName;
! out.write("<" + ((c=='/') ? "/" : "") + info.getNameSpace() + ":");
begin = end;
***************
*** 140,150 ****
tok = new StringTokenizer(atts,"\"",false);
! while (tok.hasMoreTokens()) {
token = tok.nextToken();
out.write(token);
! out.write("\"");
out.write(xmlEncode(tok.nextToken()));
out.write("\"");
}
out.write(">");
--- 177,192 ----
tok = new StringTokenizer(atts,"\"",false);
! if (tok.countTokens() == 1)
! out.write(info.getCorrectRMLTagName(tagName));
!
! while (tok.hasMoreTokens() && tok.countTokens() != 1) {
token = tok.nextToken();
out.write(token);
! out.write(" \"");
out.write(xmlEncode(tok.nextToken()));
out.write("\"");
}
+
+
out.write(">");
Index: MacroToXMLHandler.class
===================================================================
RCS file: /cvsroot/idrs/Idrs/dev/src/net/sourceforge/idrs/deploy/macro/MacroToXMLHandler.class,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
Binary files /tmp/cvsolhIcy and /tmp/cvs0qb4hW differ
Index: MacroToXMLHandler.java
===================================================================
RCS file: /cvsroot/idrs/Idrs/dev/src/net/sourceforge/idrs/deploy/macro/MacroToXMLHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** MacroToXMLHandler.java 2002/01/19 07:00:36 1.2
--- MacroToXMLHandler.java 2002/01/19 17:42:46 1.3
***************
*** 13,23 ****
SCHEMA_NAMESPACE = "schemanamespace",
SCRIPT_CHAR = "scriptchar",
! SCRIPT_TAG = "scipttag",
! ECHO_SCRIPT_TAG = "echoscripttag";
String nameSpace,rmlSchema,textTag,scriptTag,echoScriptTag;
char scriptChar;
HashMap rmlTags;
!
StringBuffer currBuff;
--- 13,24 ----
SCHEMA_NAMESPACE = "schemanamespace",
SCRIPT_CHAR = "scriptchar",
! SCRIPT_TAG = "scripttag",
! ECHO_SCRIPT_TAG = "echoscripttag",
! RML_TRANS = "rmltrans";
String nameSpace,rmlSchema,textTag,scriptTag,echoScriptTag;
char scriptChar;
HashMap rmlTags;
! Attributes atts;
StringBuffer currBuff;
***************
*** 40,50 ****
public void startElement(String namespaceURI, String loaclName, String rawName, Attributes atts) throws SAXException {
currBuff = new StringBuffer();
}
! public void endElement(String namespaceURI, String loaclName, String rawName) throws SAXException {
! String name = rawName.toLowerCase();
if (name.equals(RML)) {
! rmlTags.put(currBuff.toString().trim().toLowerCase(),currBuff.toString().trim());
}
else if (name.equals(TEXT_TAG)) {
--- 41,54 ----
public void startElement(String namespaceURI, String loaclName, String rawName, Attributes atts) throws SAXException {
currBuff = new StringBuffer();
+ this.atts=atts;
}
! public void endElement(String namespaceURI, String localName, String rawName) throws SAXException {
! String name = localName.toLowerCase();
if (name.equals(RML)) {
! System.out.println("Found Tag : " + currBuff.toString().trim().toLowerCase());
!
! rmlTags.put(currBuff.toString().trim().toLowerCase(),new Tag(currBuff.toString().trim(), Boolean.valueOf(atts.getValue(0)).booleanValue() ));
}
else if (name.equals(TEXT_TAG)) {
***************
*** 66,69 ****
--- 70,76 ----
echoScriptTag = currBuff.toString();
}
+ else if (name.equals(RML_TRANS)) {
+ //do nothing
+ }
else {
throw new SAXException("Tag : " + rawName + " is not a valid tag");
***************
*** 72,76 ****
public void characters(char[] ch, int start, int end) {
! currBuff.append(ch);
}
--- 79,85 ----
public void characters(char[] ch, int start, int end) {
! for (int i=start;i<start + end;i++) {
! currBuff.append(ch[i]);
! }
}
***************
*** 96,107 ****
public boolean isRMLTag(String tag) {
! return rmlTags.get(tag) != null;
}
public String getCorrectRMLTagName(String tag) {
! return (String) rmlTags.get(tag);
}
}
--- 105,132 ----
public boolean isRMLTag(String tag) {
! System.out.println("is a rml tag? : " + tag);
! return rmlTags.get(tag.toLowerCase().trim()) != null;
}
public String getCorrectRMLTagName(String tag) {
! return ((Tag) rmlTags.get(tag.toLowerCase().trim())).name;
! }
!
! public boolean isTagSimple(String tag) {
! System.out.println("tag " + tag + " exits " + isRMLTag(tag));
! return ((Tag) rmlTags.get(tag.toLowerCase().trim())).isSimple;
}
+ }
+
+ class Tag {
+ String name;
+ boolean isSimple;
+
+ Tag (String name, boolean isSimple) {
+ this.name=name;
+ this.isSimple = isSimple;
+ }
}
|