XML parser for C++ - encoding problem
when I trying parse xml data
XMLParser xP;
xP.xmlinit((oratext*)"ISO-8859-5");
err = xP.xmlparseBuffer((oratext*)buff, len, (oratext*)"ISO-8859-5", (ub4)0);
I got the error 217 defined as
#define XMLERR_END_QUOTE 217 /* No ending quote was seen */
ORACLE_HOME and ORA_NLS variables set correctly.
What the problem?
Please specify the XDK version and send the sample test case.
Similar Messages
-
Can't use UTF-16 encoding with XML Parser for Java v2.
This is my XML Document:
<?xml version="1.0" encoding="UTF-16" ?>
<Content>
<Title>Documento de Prueba de gestin de contenidos.</Title>
<Creator>Roberto P rez Lita</Creator>
</Content>
This is the way in which i parse de document:
DOMParser parser=new DOMParser();
parser.setPreserveWhitespace(true);
parser.setErrorStream(System.err);
parser.setValidationMode(false);
parser.showWarnings(true);
parser.parse(
new FileInputStream(new File("PruebaA3Ingles.xml")));
I've got this error:
XML-0231 : (Error) Encoding 'UTF-16' is not currently supported.
I am using the XML Parser for Java v2_0_2_5 and I am a little
confused because the documentation says that the UTF-16 encoding
is supported in this version of the Parser.
Does anybody know how can I parse documents containing spanish
accents?
Thanks in advance.
Roberto P rez.
nullOracle just uploaded a new release of V2 Parser. It should
support UTF-16.
Yet, other utilities still have some problems with UTF-16
encoding. Seems we just
have to wait this one out.
BTW, I'm trying to use Japanese. We, also, have some problems
with JServer.
Roberto P rez (guest) wrote:
: This is my XML Document:
: <?xml version="1.0" encoding="UTF-16" ?>
: <Content>
: <Title>Documento de Prueba de gestin de contenidos.</Title>
: <Creator>Roberto P rez Lita</Creator>
: </Content>
: This is the way in which i parse de document:
: DOMParser parser=new DOMParser();
: parser.setPreserveWhitespace(true);
: parser.setErrorStream(System.err);
: parser.setValidationMode(false);
: parser.showWarnings(true);
: parser.parse(
: new FileInputStream(new File("PruebaA3Ingles.xml")));
: I've got this error:
: XML-0231 : (Error) Encoding 'UTF-16' is not currently supported.
: I am using the XML Parser for Java v2_0_2_5 and I am a little
: confused because the documentation says that the UTF-16
encoding
: is supported in this version of the Parser.
: Does anybody know how can I parse documents containing spanish
: accents?
: Thanks in advance.
: Roberto P rez.
null -
XML parsing problems with Oracle XML parser for PL/SQL
I am using the Oracle XML parser for PL/SQL to transform XML into HTML usign XSL. The parser gives me sporadic errors trying to parse various XML documents. For the same XML source, the XMLPARSER will parse without errors one day and the next day will give me errors such as "invalid char in text", "Expected ';'.", or even Java null pointer exceptions.
I have verified that the XML sources are well formed, so I am pretty certain that the problems I am having are bugs in the XMLPARSER.
Is there going to be a XML parser for PL/SQL version 2 that will fix these bugs? If so, when??? If not, is there anything else I could do to fix these problems?
Thanks!You can use the latest version.
-
Still problems serializing xml-docs with xml-parser for java v2.0.2.7
Hi !
I'm using the Oracle XML Parser 2.0.2.7.0 and get some problems when serializing the XMLDocument.
In one class (DOMOut) I parse a xml-file with the oracle.xml.parser.v2.DOMParser, then obtain the XMLDocument and write it to System.out
In another class (DOMIn) I fetch the XMLDocument from System.in, search for a given Element and print it's TextValue (if existing) to System.out
That is where the error occurs.
I get the XMLDocument from System.in but the returning NodeList from doc.getElementsByTagName() is empty. [nl.getLength()==0] even if it shouldn't be.
Look at this code and output:
[DOMOut]
DOMParser parser = new DOMParser();
parser.parse(url);
XMLDocument doc = (XMLDocument)parser.getDocument();
ObjectOutputStream out = new ObjectOutputStream(System.out);
out.writeObject(doc); out.flush();
[DOMIn]
ObjectInputStream in = new ObjectInputStream(System.in);
XMLDocument doc = (XMLDocument)in.readObject();
doc.print(System.out);
NodeList nl = doc.getElementsByTagName("Name");
System.out.println("Length of NodeList: "+nl.getLength());
if (nl.getLength()==0)
System.out.println(argv[0] + ": not in this document!");
else {
XMLNode node = (XMLNode) nl.item(nl.getLength()-1);
System.out.println(node.getNodeName() + ": " + (node.getFirstChild()).getNodeValue());
This is the relevant code.
I javac both classes and then do this:
java DOMOut xmltestfile.xml > xx
java DOMIn Name < xx
And get this as output:
<?xml version = '1.0'?>
<!DOCTYPE course [
<!ELEMENT course (Name,Dept,Instructor,Student)>
<!ELEMENT Name ((#PCDATA)*)*>
<!ELEMENT Dept ((#PCDATA)*)*>
<!ELEMENT Instructor (Name)>
<!ELEMENT Student (Name)*>
]>
<course>
<Name>Calculus</Name>
<Dept>Math</Dept>
<Instructor>
<Name>Jim Green</Name>
</Instructor>
<Student>
<Name>Jack</Name>
<Name>Mary</Name>
<Name>Paul</Name>
</Student>
</course>
Length of NodeList: 0
Name: not in this document!
Has anyone an idea?
If I do all this stuff without serializing it works.
If I do not search for argv[0], but the string "Name" it fails.
If I do search for "*" it works fine!
I'm very confused could anybody please help me a bit??
Stefan.
[[email protected]]The link has been fixed. You will go to the v2 download page
now. Sorry for the inconvience.
Oracle XML Team
http://technet.oracle.com
Oracle Technology Network
Renilton Oliveira (guest) wrote:
: I didn't find the file for version 2.0.0.0 as well.
: Renilton
: Andrei Filimonov (guest) wrote:
: : I tried to download XML Parser for Java v2 it seems that
only
: v
: : 1.0.1.4 is available. Could you please give an exact URL for
: v2
: : download?
: : Andrei Filimonov
: : Oracle XML Team wrote:
: : : The Oracle XML v2 parser is now available for download
here
: as
: : : an early beta release and is written in Java. It features
: an
: : : improved architecture over the Oracle XML v1 parser and
has
: : : shown better performance on small to large XML documents.
: It
: : : will also be able to format the XML document according to
a
: : : stylesheet, having integrated an XSLT processor.
: : : Version 2 of the XML Parser for Java, besides
incorporating
: an
: : : XSLT processor, has been re-architected from version 1.
This
: : has
: : : resulted in a number of changes to the class names
: especially
: : : those that support Namespaces. See v2changes.txt and
: the .diff
: : : difference files in the sample directory.
: : : Oracle XML Team
: : : http://technet.oracle.com
: : : Oracle Technology Network
null -
XML Parser for PL/SQL - charset
Hi,
I'm using XML Parser for PL/SQL and have some trouble with encoding of results xmldom.writeToBuffer and xmldom.writeToCLOB procedures.
Some tags in my DOM documents contain text values in RUSSIAN (server nls_charset is CL8ISO8859P5). When I write document in varchar2 variable, buffer content is in UTF8 encoding ( convert UTF8->CL8ISO8859P5 -OK).
xmldom.setCharset(doc, 'ISO-8859-5') just after xmldom.newDOMDocument has no effect.
xmldom.setCharset(doc, 'CL8ISO8859P5') has no effect also.
Explicit charset direction in third parameter of
xmldom.writeToBuffer and xmldom.writeToCLOB procedure has no effect.
When I write document in CLOB, and then read part of CLOB in varchar2 buffer - result contain '?' in place of all russian text characters.
What's a problem?
How can I force XML Parser write XML in server charset?
Platform:
Oracle8i Enterprise Edition Release 8.1.6.1.0
JServer Release 8.1.6.1.0
Oracle XML Parser for PL/SQL v 1.0.2I have the same problem. But in my case I am allowed only to use XML Parser for PL/SQL.
Characterset 'WE8ISO8859P1' is used. And the language is latvian.
After parsing a XML document and printing its contents, all latvian characters are replaced by "f".
xmldom.setcharset(doc,'WE8ISO8859P1') has no effect. -
XML Parser for PLSQL and BIG5/UTF-8
I'm trying store data in traditional chinese submitted by IE5 (through oXMLHttpRequest.send() and javascript), I tried both 'encoding="BIG5"' and 'encoding="UTF-8"'.
It seems that the parser ignore all characters that are not ascii regardless of their encoding.
Any thoughts will be much appreciated
procedure UpdateXMLProc(xmlSrc varchar2)
is
p xmlparser.parser;
doc xmldom.DOMDocument;
nlist xmldom.DOMNodeList;
list_len pls_integer;
node1 xmldom.DOMNode;
node2 xmldom.DOMNode;
node3 xmldom.DOMNode;
begin
p := xmlparser.newParser;
xmlparser.parseBuffer(p, xmlSrc);
doc := xmlparser.getDocument(p);
nlist := xmldom.getElementsByTagName(doc, 'ROW');
list_len := xmldom.getLength(nlist);
-- loop through elements
for j in 0..list_len-1 loop
node1 := xmldom.item(nlist, j);
-- get primary key values
node2 := xmldom.getFirstChild(node1);
loop
-- get the text node and if not null get value
node3 := xmldom.getFirstChild(node2);
if not xmldom.isNull(node3) then
-- THIS OUTPUT MAY ALTER CHARACTER IF IT'S NOT ASCII
htp.p(xmldom.getNodeValue(node3));
end if;
-- get next field
node2 := xmldom.getNextSibling(node2);
exit when (xmldom.isNull(node2));
end loop;
end loop;
-- THIS OUTPUT WILL BE IN THE SAME ENCODING AS THE ORIGINAL
htp.p(xmlSrc);
end;
nullI just ran the initjvm.sql,initdbj.sql and
initsqlj.sql.
Still getting the error.
Please help!!!!
Thanks
Jay
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Jay ([email protected]):
I have Oracle8i Release 8.1.5.0.0 - ProductionWith the Java option
PL/SQL Release 8.1.5.0.0 - Production version
runnig in sun sparc server.
While I am loading Oracle XML Parser for PLSQL(using plxmlparser_V1_0_1.tar.gz) have a problem. When I try to load the xmlparser.jar class and I get the
following messages:
initialization complete
Error while accessing MD5 table
ORA-00942: table or view does not exist
loading : org/w3c/dom/DOMImplementation
Error while loading org/w3c/dom/DOMImplementation
ORA-04068: existing state of packages has been discarded
ORA-04063: package body "TEST.LOADLOBS" has errors
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at line 1
creating : org/w3c/dom/DOMImplementation
Error while creating class org/w3c/dom/DOMImplementation
ORA-00406: COMPATIBLE parameter needs to be 8.1.0.0.0 or greater
Error while accessing MD5 table
ORA-00942: table or view does not exist
loading : org/w3c/dom/html/HTMLDivElement
Error while loading org/w3c/dom/html/HTMLDivElement
ORA-04068: existing state of packages has been discarded
ORA-04063: package body "TEST.LOADLOBS" has errors
ORA-06508: PL/SQL: could not find program unit being called
and so on.
Could anyone please tell me if I need to do any pre-installation steps.
Thanks
Jay<HR></BLOCKQUOTE>
null -
XML Parser for C++ v2 on HP-UX 11.00
Hi,
We are using XML parser for C++ v2(2.0.1) on HP-UX 11.00.Oracle version is 8.0.5. Our application is dumping core .analyzing the core gives pointers to Oracle function calls. We found that some datatypes in parser's oratypes.h (e.g ub4,sb4)were not in consistence with datatypes in native Oracle's oratypes.h.how to solve this problem? is there any linkage or Includepath order recommended to solve this? let me know if u know any solution/workaround
thanx in advance
vijayanand
nullWe're working on getting this fixed. Thanks for reporting it.
-
Loading XML parser for PL/SQL
I am working my way thru 'Building Oracle XML Applications' by Steve Muench.
I am getting a problem when I try to install the XML parser for PL/SQL
The following errors occur when I try to do
loadjava -v -r -u xmlbook/xmlbook xmlparserv2.jar
initialization complete
loading : oracle/xml/parser/v2/XMLByteReader
creating : oracle/xml/parser/v2/XMLByteReader
Error while creating class oracle/xml/parser/v2/XMLByteReader
ORA-29545: badly formed class: User has attempted to load a class (oracle.xml.parser.v2.XMLByteReader) into a restricted package. Permission can be granted using dbms_java.grant_permission(<user>, LoadClassInPackage...
loading : oracle/xml/parser/v2/PrintDriver
creating : oracle/xml/parser/v2/PrintDriver
Error while creating class oracle/xml/parser/v2/PrintDriver
ORA-29545: badly formed class: User has attempted to load a class (oracle.xml.parser.v2.PrintDriver) into a restricted package. Permission can be granted using dbms_java.grant_permission(<user>, LoadClassInPackage...
resolving: oracle/xml/parser/v2/PrintDriver
Error while resolving class oracle/xml/parser/v2/PrintDriver
ORA-04043: object /a065289c_PrintDriver does not exist
resolving: org/w3c/dom/html/HTMLAnchorElement
Error while resolving class org/w3c/dom/html/HTMLAnchorElement
ORA-04043: object /564607d_HTMLAnchorElement does not exist
About 20 classes get loaded correctly. All the rest get ORA-29545 or ORA-04043 errors.
I expect the ORA-04043 errors are a result of the earlier errors.
The documentation seems to indicate that there is no need to do
dbms_java.grant_permission to load into your own schema.
I have NT4 (sp6)
Oracle 8.1.7
xmlparserv2.jar dated 24/8/2001 17:01 size 1,177,259
xmlparserv2_2027.jar gives the same errors.
Any help would be appreciated.
nullWas it definitely xmlparsev2.jar that you had to load?
I recently started going through some of these examples as well and found that the standard xml parser was there but that I needed to load the xml parser for PL/SQL. I did this using loadjava from a subdirectory within the xdk directory and everything worked fine. -
2-byte error in XML Parser for PL/SQL
environment:
oracle 8.1.5
XML parser for Java 2.0.2.6.0
XML parser for PL/SQL 1.0.1.0.0
we use CLOB as xml data container, but it does not work properly with 2 byte chracter set.
I tested same situation except using VARCHAR2 instead of CLOB, it works without problem.
I think there is some bug in method parseClob of oracle.xml.parser.plsql.XMLParserCover about converting CLOB into String.
I appreciate any help to work around this problem.Hi,
We couldn't reproduce this error with our test case. Can you please post a test case that gives you this problem so we can assist you further?
Thank you,
Oracle XML Team -
XML-Parser for PL/SQL: OutOfMemoryError
When using the XML-Parser for transforming an
XML document into HTML, I sometimes get the
following error:
ORA-29516: Aurora assertion failure: Assertion failure at eox.c:187
Uncaught exception System error: java/lang/OutOfMemoryError
ORA-04030: out of process memory when trying to allocate 25509408 bytes (joxcx
callheap,ioc_allocate ufree)
The operation nevertheless seems to finish correctly. I run Oracle 8.1.6 under WinNT4
(384MB RAM) with a shared_pool_size of about
30MB and a java_pool_size of 40MB.
The original document is stored in a CLOB,
so I use xmlparser.parseClob to get it.
After the parsing is finished, the result is written to a file using xmldom.writeToFile.
Can anybody point me in the right direction?
Many thanks in advance!
Roman ([email protected])
nullMay I should have said that the memory error
occurs only when transforming a lot of xml documents at once using a cursor loop.
This is the procedure I use:
CREATE OR REPLACE procedure transformer is
p xmlparser.Parser;
q xmlparser.Parser;
xmldoc xmldom.DOMDocument;
xmldocnode xmldom.DOMNode;
proc xslprocessor.Processor;
ss xslprocessor.Stylesheet;
xsldoc xmldom.DOMDocument;
docfrag xmldom.DOMDocumentFragment;
docfragnode xmldom.DOMNode;
doc0 clob;
doc1 clob;
doc2 clob;
v_buffer long;
dir varchar2(100) := 'e:\grammis\html\parser';
xslfile varchar2(100) := 'detail.xsl';
errfile varchar2(100) := 'fehler.txt';
cursor c1 is select id from tb_infoknoten order by id desc;
begin
q := xmlparser.newParser;
-- parse xsl file
xmlparser.parse(q, dir | | '/' | | xslfile);
-- get document
xsldoc := xmlparser.getDocument(q);
-- make stylesheet
ss := xslprocessor.newStylesheet(xsldoc, dir | | '/' | | xslfile);
-- process xsl
proc := xslprocessor.newProcessor;
xslprocessor.showWarnings(proc, true);
xslprocessor.setErrorLog(proc, dir | | '/' | | errfile);
-- new parser
p := xmlparser.newParser;
-- set some characteristics
xmlparser.setValidationMode(p, FALSE);
xmlparser.setErrorLog(p, dir | | '/' | | errfile);
xmlparser.setPreserveWhiteSpace(p, TRUE);
xmlparser.setBaseDir(p, dir);
for h1 in c1 loop
select inhalt into doc2 from tb_infoknoten where id=h1.id;
DBMS_LOB.CREATETEMPORARY(doc0,TRUE, DBMS_LOB.SESSION);
v_buffer:='<?xml version="1.0" encoding="ISO-8859-1"?>';
dbms_lob.write(doc0,43,1,v_buffer);
DBMS_LOB.OPEN(doc0, DBMS_LOB.LOB_READWRITE);
DBMS_LOB.OPEN(doc2, DBMS_LOB.LOB_READONLY);
DBMS_LOB.COPY(doc0, doc2, DBMS_LOB.GETLENGTH(doc2), 44, 1);
DBMS_LOB.CLOSE(doc0);
DBMS_LOB.CLOSE(doc2);
xmlparser.parseClob(p, doc0);
DBMS_LOB.FREETEMPORARY(doc0);
-- get document
xmldoc := xmlparser.getDocument(p);
docfrag := xslprocessor.processXSL(proc, ss, xmldoc);
docfragnode := xmldom.makeNode(docfrag);
-- writing transformed document
xmldom.writeToFile(docfragnode, dir | | '/' | | h1.id | |'.html');
end loop;
end transformer;
null -
ANN: XML Parser for Java v2.0.2.5
The v2.0.2.5 of the XML Parser for Java is now available for
download. The following features and bug fixes are included:
Conformance to the XSLT/XPATH October PR.
Support for internationalized error messages has been added. The
locale can be set using setLocale(java.util.Locale) function in
XSLProcessor, SAXParser, and DOMParser.
New APIs in XMLNode class:
value-of(String pattern)
selectNodes(String pattern)
selectSingleNode(String pattern)
selectSingleNode(String pattern, NSResolver ns)
New API in XSLStylesheet class
setParam(String param, String value)
Bug fixes:
Bug #957465: Missing a way to set stylesheet-level param-
variables
Bug #962290: selectNodes() improvements
Bug #1033472: Html output prints empty elements for non-empty
elements
Bug #1040717: Character entity for greater that in html output
style
Bug #1046003: Bug is parsing text nodes larger than 16K
Bug #1051671: 'xsl:namespace-alias' not supported
Bug #1052387: Disable-output-escaping doesn't flush while
printing
Bug #1053273: 'xsl:message' terminate attribute not supported
Bug #1058004: No access to media-type and encoding on xsl:output
Bug #1058008: xsl:version attribute not copied to result
Bug #1061159: Exclude-result-prefixes not supported
Bug #1067965: Bug in Non-validating parser while reading QNames
in DTD
This is the fifth production patch release for v2.
Oracle XML Team
http://technet.oracle.com
Oracle Technology Network
nullThe link has been fixed. You will go to the v2 download page
now. Sorry for the inconvience.
Oracle XML Team
http://technet.oracle.com
Oracle Technology Network
Renilton Oliveira (guest) wrote:
: I didn't find the file for version 2.0.0.0 as well.
: Renilton
: Andrei Filimonov (guest) wrote:
: : I tried to download XML Parser for Java v2 it seems that
only
: v
: : 1.0.1.4 is available. Could you please give an exact URL for
: v2
: : download?
: : Andrei Filimonov
: : Oracle XML Team wrote:
: : : The Oracle XML v2 parser is now available for download
here
: as
: : : an early beta release and is written in Java. It features
: an
: : : improved architecture over the Oracle XML v1 parser and
has
: : : shown better performance on small to large XML documents.
: It
: : : will also be able to format the XML document according to
a
: : : stylesheet, having integrated an XSLT processor.
: : : Version 2 of the XML Parser for Java, besides
incorporating
: an
: : : XSLT processor, has been re-architected from version 1.
This
: : has
: : : resulted in a number of changes to the class names
: especially
: : : those that support Namespaces. See v2changes.txt and
: the .diff
: : : difference files in the sample directory.
: : : Oracle XML Team
: : : http://technet.oracle.com
: : : Oracle Technology Network
null -
XML parser for C 2.0.4
Can someone from the Oracle xmlteam for the C parser please look at OTN Technical discussion XML parser for C 2.0.2 - LPX-00208 in the OTN XML Discussions? The last part of it is about 2.0.4.
Thanks!
John Butler1. I installed my own memory handlers once and now I see that it keeps on allocating memory in block like this:
104016
65552
65552
65552
65552
65552
until a total of: 275 MB !!
This memory is freed when xmlterm() is called.
2. It complains about 'The procedure entry point slpupath could not be located in the dynamic link library oracore8.dll' when I try with the 8.1.6 DLL's...
And since Oracle8.1.7 is not out yet for NT, this is a problem... -
Testing XML Parser for C (v1.0.1 & v2)
Hi,
I had tested the Oracle XML Parser for C (v1.0.1.0.0) and found out that it was bundled with the 8i database. Is this a requirement of the parser?
Now I want to test version 2 of the same parser. Can you tell me the main differences between the two versions? Also we are using Oracle 8.1.5i at our site, can we run the v2 parser with 8.1.5i?
My last question is when will the commercial product (both v1.0.1 and v2) be available?
Thanks,
FrancisHi,
Are you sure I can use the downloaded XML Parser for C v2 on Oracle 7.3 and Oracle 8? Because in the lib directory there are the following libraries:
libcore8.a, libnls8.a, libxml8.a, libxmlc8.a
I think they are for Oracle 8i instead. I tried to compiled the Oracle XML Parser for C v1.0.0.0.1 before on Oracle 7.3 and it failed because of libraries problem. How can I get the libraries required for Oracle 7.3 and Oracle 8? Please verify.
Many thanks!
Francis -
I download the XML Parser for Java 3.2.1 Release from the IBM site and I have JDK1.3 installed on my Windows 2000 PC. I've placed the files "xerces.jar" and "xalan.jar" in the location specified by the extensions mechanism (i.e "C:\JDK1.3\jre\lib\ext\").
I downloaded an example where java uses XML but I get an error because it fails to import the following class:
import com.ibm.xml.parser.Parser;
Also in another application the same thing happens with this class:
import com.ibm.xml.parser.TXDocument;
If I remove the xerces and xalan JAR files from the directory mentioned above I get move errors so I presume I have the files in the right location. Do I need to place any other files in that DIR other than the xerces and xalan JAR files?
Any help greatly appreciated!Not sure if you solved your problem.
I think Xerces was handed over to the Apache organisation by IBM and the package names were then changed so that com.ibm would have become org.apache or whatever. At a guess nobody got round to changing the examples. -
XML Parser for Java v2. Applying XSLT to DOM tree
I encountered pretty weird behavior of XML Parser for Java v2.
While applying XSLT to XML document created in memory using DOM
interface I couldn't access element attributes. For example,
given the XML document:
<root>
<Item ID="00001">Value of Item 00001</Item>
<Item ID="00002">Value of Item 00002</Item>
</root>
and XSLT:
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>XSLT Test</TITLE>
</HEAD>
<BODY>
<xsl:for-each select="/Error">
<H1>Error</H1><xsl:value-of select="."/>
</xsl:for-each>
<TABLE border="0" cellspacing="0" cellpadding="2">
<TBODY>
<xsl:for-each select="/root">
<TR>
<TH style="background-color:khaki">
<xsl:text>Attribute</xsl:text>
</TH>
<TH style="background-color:khaki">
<xsl:text>Value</xsl:text>
</TH>
</TR>
<xsl:for-each select="Item">
<TR>
<TD><xsl:value-of select="@ID"/></TD>
<TD><xsl:value-of select="."/></TD>
</TR>
</xsl:for-each>
</xsl:for-each>
</TBODY>
</TABLE>
</BODY>
</HTML>
</xsl:template>
If I build DOM tree by parsing XML file the resulting HTML
document after applying XSLT will display
Attribute Value
00001 Value of Item 00001
00002 Value of Item 00002
But if I build DOM tree using following code:
XMLDocument xDoc = new XMLDocument();
Element root = xDoc.createElement( "root" );
xDoc.appendChild( root );
Element elem = xDoc.createElement( "Item" );
elem.setAttribute( "ID", "00001" );
root.appendChild( elem ).
appendChild( xDoc.createTextNode( "Value of Item 00001" ) );
elem = xDoc.createElement( "Item" );
elem.setAttribute( "ID", "00002" );
root.appendChild( elem )
.appendChild( xDoc.createTextNode( "Value of Item 00002" ) );
the same XSLT will produce the following HTML output:
Attribute Value
Value of Item 00001
Value of Item 00002
So the value for the ID attribute is not displayed. At the same
time I can access this attribute using DOM interface. For
example, following code
NodeList nList = xDoc.getElementsByTagName( "Item" );
Element e;
for( int i = 0; i < nList.getLength(); i++ )
e = (Element)nList.item( i );
System.out.println( "ID: " + e.getAttribute( "ID" ) );
produces an output
ID: 00001
ID: 00002
Here is the code for applying XSLT to DOM tree:
DOMParser parser = new DOMParser();
parser.parse( new FileInputStream( "test.xsl" ) );
XMLDocument xsldoc = parser.getDocument();
XSLStylesheet xsl = new XSLStylesheet( xsldoc, createURL( "" ) );
XMLDocument out = new XMLDocument();
out.appendChild( new XSLProcessor().processXSL(xsl, xDoc) );
out.print( new FileOutputStream( "test.html" ) );
Andrei Filimonov
nullWe are not getting what you're getting on Solaris. See the
following:
Script started on Tue Jun 22 18:53:56 1999
Processing /view/test/vobs/oracore3/.ndeprodrc.csh
Processing /private/.nderc.csh
[test] > cat bruno.xml
<my_grandpa age="88">
<my_dad age="66">
<me age="44">
<my_son age="22">
</my_son>
</me>
</my_dad>
</my_grandpa>
[test] > cat bruno.xsl
<?xml version="1.0"?>
<!-- Identity transformation -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="me">
<xsl:value-of select="my_son/@age"/>
<xsl:value-of select="@age"/>
<xsl:value-of select="../@age"/>
<xsl:value-of select="../../@age"/>
</xsl:template>
</xsl:stylesheet>
[test] > java XSLSample bruno.xsl bruno.xml
<root>
22446688
</root>
[test] > exit
script done on Tue Jun 22 18:54:22 1999
What platform are you on and does your stylesheet and xml doc
match ours?
Oracle XML Team
http://technet.oracle.com
Oracle Technology Network
Bruno Bontempi (guest) wrote:
: I had a similar problem in accessing element attributes from
an
: XSLT sheet.
: It seems like the processor correctly accesses element
attributes
: in the context node, but does not retrieve values of
attributes
: outside the context node.
: For example, for an XML document like:
: <my_grandpa age="88">
: <my_dad age="66">
: <me age="44">
: <my_son age="22">
: </my_son>
: </me>
: </my_dad>
: </my_grandpa>
: and an XSL stylesheet like:
: <xsl:template match="me">
: <xsl:value-of select="my_son/@age"/>
: <xsl:value-of select="@age"/>
: <xsl:value-of select="../@age"/>
: <xsl:value-of select="../../@age"/>
: </xsl:template>
: I expect an output like:
: 22446688
: but all I get is
: 44
: I am also using Jim Clark's XT, which is returning the
expected
: result.
: Thanks in advance for your help,
: Bruno.
: Andrei Filimonov (guest) wrote:
: : I encountered pretty weird behavior of XML Parser for Java
v2.
: : While applying XSLT to XML document created in memory using
DOM
: : interface I couldn't access element attributes. For example,
: : given the XML document:
: : <root>
: : <Item ID="00001">Value of Item 00001</Item>
: : <Item ID="00002">Value of Item 00002</Item>
: : </root>
: : and XSLT:
: : <xsl:template match="/">
: : <HTML>
: : <HEAD>
: : <TITLE>XSLT Test</TITLE>
: : </HEAD>
: : <BODY>
: : <xsl:for-each select="/Error">
: : <H1>Error</H1><xsl:value-of select="."/>
: : </xsl:for-each>
: : <TABLE border="0" cellspacing="0" cellpadding="2">
: : <TBODY>
: : <xsl:for-each select="/root">
: : <TR>
: : <TH style="background-color:khaki">
: : <xsl:text>Attribute</xsl:text>
: : </TH>
: : <TH style="background-color:khaki">
: : <xsl:text>Value</xsl:text>
: : </TH>
: : </TR>
: : <xsl:for-each select="Item">
: : <TR>
: : <TD><xsl:value-of select="@ID"/></TD>
: : <TD><xsl:value-of select="."/></TD>
: : </TR>
: : </xsl:for-each>
: : </xsl:for-each>
: : </TBODY>
: : </TABLE>
: : </BODY>
: : </HTML>
: : </xsl:template>
: : If I build DOM tree by parsing XML file the resulting HTML
: : document after applying XSLT will display
: : Attribute Value
: : 00001 Value of Item 00001
: : 00002 Value of Item 00002
: : But if I build DOM tree using following code:
: : XMLDocument xDoc = new XMLDocument();
: : Element root = xDoc.createElement( "root" );
: : xDoc.appendChild( root );
: : Element elem = xDoc.createElement( "Item" );
: : elem.setAttribute( "ID", "00001" );
: : root.appendChild( elem ).
: : appendChild( xDoc.createTextNode( "Value of Item
00001" )
: : elem = xDoc.createElement( "Item" );
: : elem.setAttribute( "ID", "00002" );
: : root.appendChild( elem )
: : .appendChild( xDoc.createTextNode( "Value of Item
00002" )
: : the same XSLT will produce the following HTML output:
: : Attribute Value
: : Value of Item 00001
: : Value of Item 00002
: : So the value for the ID attribute is not displayed. At the
same
: : time I can access this attribute using DOM interface. For
: : example, following code
: : NodeList nList = xDoc.getElementsByTagName( "Item" );
: : Element e;
: : for( int i = 0; i < nList.getLength(); i++ )
: : e = (Element)nList.item( i );
: : System.out.println( "ID: " + e.getAttribute( "ID" ) );
: : produces an output
: : ID: 00001
: : ID: 00002
: : Here is the code for applying XSLT to DOM tree:
: : DOMParser parser = new DOMParser();
: : parser.parse( new FileInputStream( "test.xsl" ) );
: : XMLDocument xsldoc = parser.getDocument();
: : XSLStylesheet xsl = new XSLStylesheet( xsldoc, createURL
: : XMLDocument out = new XMLDocument();
: : out.appendChild( new XSLProcessor().processXSL(xsl, xDoc) );
: : out.print( new FileOutputStream( "test.html" ) );
: : Andrei Filimonov
null
Maybe you are looking for
-
I can't open itunes. It says error 7 (windows 126). How do I fix this?
How do I fix error 7 (windows 126)? I cant even open itunes.
-
Size of Launch images for ipad
Hi All, I'm developing an iPad app that run in all device orientation and that don't display the status bar (fullscreen). I read that the launch screen images should be landscape: 1024x748 and Portrait: 768x1004. Which let the place for the status Ba
-
Enhancment Requests to Nokia for future E90 firmwa...
1. Activate Camera via camera button 2. Able to selective turn on / off vibration for different alerts (eg on for voice call but off for emails) 3. Option of no camera sound (at least for Asia Pacific countries) 4. Charging via USB (or is this a hard
-
I cannot install addons with 4.0b12!
I've been trying to install Stylish from addons.mozilla.org for the last few hours and after clicking the link I am asked to restart as usual. However upon restarting the addon is not there and it's as though I have not done anything at all. I've tri
-
Please help! Need to install Gimp for upcoming class
Hi folks! I downloaded Gimp 2.8.2, the "native" version for use on my MacBook, OS X 10.6.8, and no luck. It will not open. I have trashed it and re-downloaded, restarted, etc. No good. I have tried downloaded it from both http://www.gimp.org/download