if (options.get(String(NS_LITERAL_STRING("h")))) {
if (options.GetEntry(NS_LITERAL_CSTRING("h"))) {
int main(int argc, char** argv) {    nsresult rv;    rv = NS_InitXPCOM2(nsnull, nsnull, nsnull);    NS_ENSURE_SUCCESS(rv, rv);    if (!txXSLTProcessor::txInit())        return 1;    //-- available flags    StringList flags;    flags.add(new String(NS_LITERAL_STRING("i")));          // XML input    flags.add(new String(NS_LITERAL_STRING("s")));          // XSL input    flags.add(new String(NS_LITERAL_STRING("o")));          // Output filename    flags.add(new String(NS_LITERAL_STRING("h")));          // help    flags.add(new String(NS_LITERAL_STRING("q")));          // quiet    NamedMap options;    options.setObjectDeletion(MB_TRUE);    CommandLineUtils::getOptions(options, argc, argv, flags);    if (!options.get(String(NS_LITERAL_STRING("q")))) {        String copyright(NS_LITERAL_STRING("(C) 1999 The MITRE Corporation, Keith Visco, and contributors"));        cerr << "TransforMiiX ";        cerr << "1.2b pre" << endl;        cerr << copyright << endl;        //-- print banner line        PRUint32 fillSize = copyright.Length() + 1;        PRUint32 counter;        for (counter = 0; counter < fillSize; ++counter)            cerr << '-';        cerr << endl << endl;    }    if (options.get(String(NS_LITERAL_STRING("h")))) {        printHelp();        return 0;    }    String* xmlFilename = (String*)options.get(String(NS_LITERAL_STRING("i")));    String* xsltFilename = (String*)options.get(String(NS_LITERAL_STRING("s")));    String* outFilename = (String*)options.get(String(NS_LITERAL_STRING("o")));    //-- handle output stream    ostream* resultOutput = &cout;    ofstream resultFileStream;    if (outFilename && !outFilename->getConstNSString().Equals(NS_LITERAL_STRING("-"))) {        resultFileStream.open(NS_LossyConvertUCS2toASCII(*outFilename).get(),                              ios::out);        if (!resultFileStream) {            cerr << "error opening output file: " << *xmlFilename << endl;            return -1;        }        resultOutput = &resultFileStream;    }    SimpleErrorObserver obs;    txStandaloneXSLTProcessor proc;    //-- process    if (!xsltFilename) {        if (!xmlFilename) {            cerr << "you must specify at least a source XML path" << endl;            printUsage();            return -1;        }        rv = proc.transform(*xmlFilename, *resultOutput, obs);    }    else {        //-- open XSLT file        rv = proc.transform(*xmlFilename, *xsltFilename, *resultOutput, obs);    }    resultFileStream.close();    txXSLTProcessor::txShutdown();    rv = NS_ShutdownXPCOM(nsnull);    NS_ENSURE_SUCCESS(rv, rv);    return 0;} //-- main