com.g11ntoolkit.parser.html
Class XLIFFBuilder

java.lang.Object
  |
  +--com.g11ntoolkit.domutil.DOMWalker
        |
        +--com.g11ntoolkit.parser.html.XLIFFBuilder

public class XLIFFBuilder
extends DOMWalker

DOM Document walker

Version:
$Revision: 1.2 $ $Date: 2005/07/11 23:13:26 $
Copyright © 2005, webMethods, Inc. All rights reserved.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See License Agreement.

Author:
Masahiko Mori
See Also:
XLIFFFile, org.w3c.dom

Field Summary
private  java.lang.String _curElm
          XLIFF class table block
private  boolean _DBG
          Script mode element table which contains these tags:
script, style, pre, comment, textarea
private  org.w3c.dom.Node _paragNode
          Paragraph mode element table which contains these tags:
a, b, i, u, s, em, tt, sup, sub, cite, code, kbd, var, samp, blink, strong
private  java.util.Hashtable _paragTags
          Current element name
private  java.lang.String _prodName
           
private  java.lang.String _prodVer
          Product name
private  java.lang.String[] _rawtextTags
          Script mode flag and Node class pointer
private  org.w3c.dom.Node _scriptNode
          Paragraph mode flag and Node class pointer
private  java.lang.String _sklDir
          Set external skelton mode for XLIFF editor
private  short _sklMode
          Target file language (Default: NULL)
private  java.lang.String _targLang
          Product version
private  java.util.List _xliff
          Skeleton dir (Default: .)
 
Constructor Summary
XLIFFBuilder()
          Create a new XLIFFBuilder.
 
Method Summary
 void add(org.w3c.dom.Document doc, java.lang.String srcName, java.lang.String dataType, java.lang.String srcLang, java.lang.String srcEnc, java.lang.String contextFile)
          Add one XLIFFFile class
private  java.lang.String addAttrString(java.lang.String elm, java.lang.String attr, java.lang.String str)
          Add attribute value into the XLIFF class
private  java.lang.String[] addBodyString(java.lang.String elm, java.lang.String str, java.lang.String datatype, boolean create)
          Add body text strings into the XLIFF class
private  void addScriptString(java.lang.String key, java.lang.String datatype)
          Add script stings into the XLIFF class
private  java.lang.String getSklKey(int tuid)
          Get token key ID from the XLIFF class
protected  void init()
          Inital this class
private  java.lang.String[] mergeString(java.lang.String key, boolean create, java.lang.String datatype)
          Add paragraph stings into the XLIFF class
private  void removeCRLines(int count, boolean includeID)
          Remove empty line from skeleton string in the XLIFF class
 void scriptWriter(org.w3c.dom.Node node, java.lang.String key)
          Script tag parser
 void setDebug(boolean mode)
          Set debug mode.
 void setLanguage(java.lang.String targLang)
          Set taget language.
 void setProduct(java.lang.String prodName, java.lang.String prodVer)
          Set Product name and version.
 void setSkeleton(short mode, java.lang.String sklFile, java.lang.StringBuffer str)
          Set skeleton mode and file name.
protected  void write(org.w3c.dom.Attr attr)
          Write out DOM Attribute to the XLIFF class
protected  void write(org.w3c.dom.CDATASection cdata)
          Write out DOM CDATASection to the XLIFF class
protected  void write(org.w3c.dom.Comment comment)
          Write out DOM Comment to the XLIFF class
protected  void write(org.w3c.dom.DocumentFragment docflag)
          Write out DOM DocumentFragment to the XLIFF class
protected  void write(org.w3c.dom.DocumentType doctype)
          Write out DOM DocumentType to the XLIFF class
protected  void write(org.w3c.dom.Element elm)
          Write out DOM Element to the XLIFF class
protected  void write(org.w3c.dom.Entity entity)
          Write out DOM Entity to the XLIFF class
protected  void write(org.w3c.dom.EntityReference entityref)
          Write out DOM EntityReference to the XLIFF class
protected  void write(org.w3c.dom.Notation notation)
          Write out DOM Notation to the XLIFF class
 void write(java.io.OutputStream out, java.lang.String encoding)
          Print out XLIFF table.
protected  void write(org.w3c.dom.ProcessingInstruction pi)
          Write out DOM ProcessingInstruction to the XLIFF class
protected  void write(org.w3c.dom.Text text)
          Write out DOM Text to the XLIFF class
 
Methods inherited from class com.g11ntoolkit.domutil.DOMWalker
write, write, write, write, write, writeChilden
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_prodName

private java.lang.String _prodName

_prodVer

private java.lang.String _prodVer
Product name


_targLang

private java.lang.String _targLang
Product version


_sklMode

private short _sklMode
Target file language (Default: NULL)


_sklDir

private java.lang.String _sklDir
Set external skelton mode for XLIFF editor


_xliff

private java.util.List _xliff
Skeleton dir (Default: .)


_curElm

private java.lang.String _curElm
XLIFF class table block


_paragTags

private java.util.Hashtable _paragTags
Current element name


_paragNode

private org.w3c.dom.Node _paragNode
Paragraph mode element table which contains these tags:
a, b, i, u, s, em, tt, sup, sub, cite, code, kbd, var, samp, blink, strong


_scriptNode

private org.w3c.dom.Node _scriptNode
Paragraph mode flag and Node class pointer


_rawtextTags

private java.lang.String[] _rawtextTags
Script mode flag and Node class pointer


_DBG

private boolean _DBG
Script mode element table which contains these tags:
script, style, pre, comment, textarea

Constructor Detail

XLIFFBuilder

public XLIFFBuilder()
Create a new XLIFFBuilder.

Method Detail

setDebug

public void setDebug(boolean mode)
Set debug mode.

Parameters:
mode - false: debug on

setProduct

public void setProduct(java.lang.String prodName,
                       java.lang.String prodVer)
Set Product name and version.

Parameters:
prodName - Product name
prodVer - Product version

setLanguage

public void setLanguage(java.lang.String targLang)
Set taget language.

Parameters:
targLang - Target language name

setSkeleton

public void setSkeleton(short mode,
                        java.lang.String sklFile,
                        java.lang.StringBuffer str)
Set skeleton mode and file name.

Parameters:
mode - Skeleton mode
XLIFFFormat.SKLMODE_EXTERNAL: External
XLIFFFormat.SKLMODE_INTERNAL:Internal text
XLIFFFormat.SKLMODE_BASE64, Internal Base64
sklFile - Skeleton file name
str - Skeleton string

add

public void add(org.w3c.dom.Document doc,
                java.lang.String srcName,
                java.lang.String dataType,
                java.lang.String srcLang,
                java.lang.String srcEnc,
                java.lang.String contextFile)
         throws java.lang.Exception
Add one XLIFFFile class

java.lang.Exception

scriptWriter

public void scriptWriter(org.w3c.dom.Node node,
                         java.lang.String key)
Script tag parser

Parameters:
node - Document Node
key - Element name (i.e. script)

write

public void write(java.io.OutputStream out,
                  java.lang.String encoding)
           throws java.lang.Exception
Print out XLIFF table.

Parameters:
out - Output Stream class
encoding - Output encoding (i.e. UTF-8)
java.lang.Exception

init

protected void init()
Inital this class


write

protected void write(org.w3c.dom.Attr attr)
Write out DOM Attribute to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
attr - Attribute class

write

protected void write(org.w3c.dom.CDATASection cdata)
Write out DOM CDATASection to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
cdata - CDATASection class

write

protected void write(org.w3c.dom.Comment comment)
Write out DOM Comment to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
comment - Comment class

write

protected void write(org.w3c.dom.DocumentFragment docflag)
Write out DOM DocumentFragment to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
docflag - DocumentFragment class

write

protected void write(org.w3c.dom.DocumentType doctype)
Write out DOM DocumentType to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
doctype - DocumentType class

write

protected void write(org.w3c.dom.Element elm)
Write out DOM Element to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
elm - Element class

write

protected void write(org.w3c.dom.Entity entity)
Write out DOM Entity to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
entity - Entity class

write

protected void write(org.w3c.dom.EntityReference entityref)
Write out DOM EntityReference to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
entityref - EntityReference class

write

protected void write(org.w3c.dom.Notation notation)
Write out DOM Notation to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
notation - Notation class

write

protected void write(org.w3c.dom.ProcessingInstruction pi)
Write out DOM ProcessingInstruction to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
pi - ProcessingInstruction class

write

protected void write(org.w3c.dom.Text text)
Write out DOM Text to the XLIFF class

Overrides:
write in class DOMWalker
Parameters:
text - Text class

addBodyString

private java.lang.String[] addBodyString(java.lang.String elm,
                                         java.lang.String str,
                                         java.lang.String datatype,
                                         boolean create)
Add body text strings into the XLIFF class

Parameters:
elm - Last element name
str - Body text strings
datatype - Data type (see XLIFFFile)
create - Create new Translation Unit flag
Returns:
String[0]: Token key string (Line#, Col#)
String[1]: New string in the skeleton string

addAttrString

private java.lang.String addAttrString(java.lang.String elm,
                                       java.lang.String attr,
                                       java.lang.String str)
Add attribute value into the XLIFF class

Parameters:
elm - Current element name
attr - Attribute name
str - Attribute value strings
Returns:
Token key string (Line#, Col#)

addScriptString

private void addScriptString(java.lang.String key,
                             java.lang.String datatype)
Add script stings into the XLIFF class

Parameters:
key - Acript tag name
datatype - Data type (see XLIFFFile)

mergeString

private java.lang.String[] mergeString(java.lang.String key,
                                       boolean create,
                                       java.lang.String datatype)
Add paragraph stings into the XLIFF class

Parameters:
key - Current element name
create - Create new Translation Unit flag
datatype - Data type (see XLIFFFile)
Returns:
String[0]: Token key string (Line#, Col#)
String[1]: New string in the skeleton string

removeCRLines

private void removeCRLines(int count,
                           boolean includeID)
Remove empty line from skeleton string in the XLIFF class

Parameters:
count - Remove line count
includeID - Flag for remove CR/LF of token key

getSklKey

private java.lang.String getSklKey(int tuid)
Get token key ID from the XLIFF class

Parameters:
tuid - Translation Unit ID
Returns:
Token key ID (Format: @@ fname.ID @@)