Xerces a cestina - detaily
Gilhad
gilhad na iname.com
Středa Únor 7 12:36:55 CET 2001
Jiri Mares wrote:
>
> ja pouzivam xerces od verze 1.2 do 2.0 (vyssi jsem zatim netestoval =
> protoze
> nechodi s xalanem) a nikdy jsem s cestinou nemel problemy. pravda musel =
> jsem
> dokumenty napsat v 8859-2 coz pod windows nebylo banalni. ale vse =
> chodi.
> jaku mate verzi?
>
xml4c3_1_0-linux.tar.gz
cili verze 3.1.0
8859-2 by mi prave skvele vyhovovalo, protoze to je takove prirozene
kodovani
Mozna mam jen spatne osetreny vstup - jsem v tomto samouk, navic v
casovem stresu, takze jsem to nejak udelal, ono to nejak chodi, ale ...
----------- input_file.xml -------------
<?xml version="1.0" encoding="iso-8859-2"?>
<vxml version="1.0">
<block>
áčďéěíňóřą»úůýľ
ÁČĎÉĚÍŇÓŘ©«ÚŮÝ®
ACDEEINORSTUUYZ
</block>
</vxml>
---------------------------------------
volam na to takovouto funkci:
.....
ParseAndSolve("input_file.xml");
....
void ParseAndSolve(char *xmlFile){
DOMParser parser;
parser.setDoValidation(false);
parser.parse(xmlFile);
DOM_Node doc = parser.getDocument();
Solve(doc);
}
// Solve dela vsechno co je treba, vola dalsi funkce a ty rekurzivne
zase volaji Solve
void Solve(DOM_Node &doc)
{
DOMString name,value;
name=doc.getNodeName();
DOM_Node child=doc.getFirstChild();
while (child!=0) {
name=child.getNodeName();
switch (child.getNodeType()) {
// case ...........
// prochazim vsechny nody a neco delam
// ale to vsechno funguje
case DOM_Node::TEXT_NODE:
onTextNode(child);
// melo by vypsat ten text CESKY
break;
default:
break;
};
};
child=child.getNextSibling();
};
}
// krome jinych veci vola tiskovou rutinu
int onTextNode(DOM_Node &doc)
{
DOMString value=doc.getNodeValue();
TISKNI(value.transcode());
// TASDY UZ TO JE SPATNE
return true;
}
// calls TCL function called TISK with given string closet to ""
void TISKNI(char *s){
DOMString cmd="TISK \"";
cmd+=s;
cmd+="\"";
Tcl_Eval(interp,cmd.transcode());
// TADY JE TO TAKY SPATNE
};
--
Zdravi
Gilhad
Mail: Gilhad na iname.com
WWW: http://gilhad.zoom-int.cz/index.php
Manga: http://gilhad.zoom-int.cz/manga/index.php
ShadowRun: http://gilhad.zoom-int.cz/shadowrun/index.php
Daląí informace o konferenci Linux