Skip Headers
Oracle® Database XML C API Reference
11g Release 2 (11.2)

Part Number E10770-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub
CAXML00010

A Mapping of APIs used before Oracle Database 10g Release 1

This chapter maps the XML C APIs available in Oracle9i release to the Unified XML C APIs available in this release of Oracle Database.

The chapter contains these topics:

See Also:

Format Models in Oracle XML Developer's Kit Programmer's Guide
CAXML6417

C Package Changes

Pre-existing C APIs were available through the oraxml package. It had the following characteristics:

In contrast, the new unified C APIs solve these problems:

CAXML6418

Initializing and Parsing Sequence Changes

The initialization and parsing of documents has changed in the Unified C API.

CAXML6419Example A-1 Initializing and Parsing Sequence for the Pre-Unified C API, One Document at a Time

The following pseudo-code demonstrates how to initialize and parse documents, one at a time, using the old C APIs. Contrast this with Example A-2.

#include <oraxml.h>
uword err;
xmlctx *ctx = xmlinit(&err, options);
for (;;)
{
   err = xmlparse(ctx, URI, options);
   ...
   /* DOM operations */
   ...
   /* recycle memory from document */
   xmlclean(ctx);
}
xmlterm(ctx);

CAXML6420Example A-2 Initializing and Parsing Sequence for the Unified C API, One Document at a Time

The following pseudo-code demonstrates how to initialize and parse documents, one at a time, using the new C APIs. Contrast this with Example A-1.

#include <xml.h>
xmlerr err;
xmldocnode *doc;
xmlctx *xctx = XmlCreate(&err, options, NULL);
for (;;)
{
   doc = XmlLoadDom(xctx, &err, "URI", URI, NULL);
   ...
   /* DOM operations */
   ...
   XmlFreeDocument(xctx, doc);
}
XmlDestroy(xctx);

CAXML6421Example A-3 Initializing and Parsing Sequence for the Pre-Unified C API, Multiple Documents and Simultaneous DOM Access

The following pseudo-code demonstrates how to initialize and parse multiple documents with simultaneous DOM access using the old C APIs. Contrast this with Example A-4.

xmlctx *ctx1 = xmlinitenc(&err, options);
xmlctx *ctx2 = xmlinitenc(&err, options);
err = xmlparse(ctx1, URI_1, options);
err = xmlparse(ctx2, URI_2, options);
...
/* DOM operations for both documents */
...
xmlterm(ctx1);
xmlterm(ctx2);

CAXML6422Example A-4 Initializing and Parsing Sequence for the Unified C API, Multiple Documents and Simultaneous DOM Access

The following pseudo-code example demonstrates how to initialize and parse multiple documents with simultaneous DOM access using the new C APIs. Contrast this with Example A-3.

xmldocnode *doc1;
xmldocnode *doc2;
xmlctx *xctx = XmlCreate(&err, options, NULL);
doc1 = XmlLoadDom(xctx, &err, "URI", URI_1, NULL);
doc2 = XmlLoadDom(xctx, &err, "URI", URI_2, NULL);
...
/* DOM operations for both documents*/
...
XmlFreeDocument(xctx, doc1);
XmlFreeDocument(xctx, doc2);
...
XmlDestroy(xctx);
CAXML6423

Datatype Mapping between oraxml and xml Packages

Table A-1 outlines the changes made to datatypes for the new C API.

CAXML6424Table A-1 Datatypes Supported by oraxml Package versus xml Package

oraxml Supported Datatype xml Supported Datatype
uword
xmlerr
xmlacctype
xmlurlacc
xmlattrnode
xmlattrnode
xmlcdatanode
xmlcdatanode
xmlcommentnode
xmlcommentnode
xmlctx
xmlctx
xmldocnode
xmldocnode
xmldomimp

Obsolete.Usexmlctx.

xmldtdnode
xmldtdnode
xmlelemnode
xmlelemnode
xmlentnode
xmlentnode
xmlentrefnode
xmlentrefnode
xmlflags
ub4
xmlfragnode
xmlfragnode
xmlihdl
xmlurlhdl
xmlmemcb

Use individual function pointers.

xmlnode
xmlnode
xmlnodes
xmlnodelist, xmlnamedmap
xmlnotenode
xmlnotenode
xmlntype
xmlnodetype
xmlpflags
ub4
xmlpinode
xmlpinode
xmlsaxcb
xmlsaxcb
xmlstream
xmlistream, xmliostream
xmltextnode
xmltextnode
xpctx
xpctx
xpexpr
xpexpr
xpnset

Obsolete.UseXmlXPathGetObjectNSetNum()and XmlXPathGetObjectNSetNode().

xpnsetele

Obsolete.UseXmlXPathGetObjectNSetNum()and XmlXPathGetObjectNSetNode().

xpobj
xpobj
xpobjtyp
xmlxslobjtype
xslctx
xslctx
xsloutputmethod
xmlxsloutputmethod

CAXML6425

Method Mapping between oraxml and xml Packages

Table A-2 outlines the changes made to the methods of the new C API.

CAXML6426Table A-2 Methods of the oraxml Package versus the xml Package

Package oraxml Method Package xml Method(s)
appendChild()
XmlDomAppendChild()
appendData()
XmlDomAppendData()
cloneNode()
XmlDomCloneNode()
createAttribute()
XmlDomCreateAttr()
createAttributeNS()
XmlDomCreateAttrNS()
createCDATASection()
XmlDomCreateCDATA()
createComment()
XmlDomCreateComment()
createDocument()
XmlCreateDocument()
createDocumentFragment()
XmlDomCreateFragment()
createDocumentNS()
XmlCreateDocument()
createDocumentType()
XmlCreateDTD()
createElement()
XmlDomCreateElem()
createElementNS()
XmlDomCreateElemNS()
createEntityReference()
XmlDomCreateEntityRef()
createProcessingInstruction()
XmlDomCreatePI()
createTextNode()
XmlDomCreateText()
deleteData()
XmlDomDeleteData()
freeElements()
XmlDomFreeNodeList()
getAttribute()
XmlDomGetAttr()
getAttributeIndex()
XmlDomGetAttrs(), XmlDomGetNodeMapItem()
getAttributeNode()
XmlDomGetAttrNode()
getAttributes()
XmlDomGetAttrs()
getAttrLocal()
XmlDomGetAttrLocal(), XmlDomGetAttrLocalLen()
getAttrName()
XmlDomGetAttrName()
getAttrNamespace()
XmlDomGetAttrURI(), XmlDomGetAttrURILen()
getAttrPrefix()
XmlDomGetAttrPrefix()
getAttrQualifiedName()
XmlDomGetAttrName()
getAttrSpecified()
XmlDomGetAttrSpecified()
getAttrValue()
XmlDomGetAttrValue()
getCharData()
XmlDomGetCharData()
getChildNode()
XmlDomGetChildNode()
getChildNodes()
XmlDomGetChildNodes()
getContentModel()
XmlDomGetContentModel()
getDocType()
XmlDomGetDTD()
getDocTypeEntities()
XmlDomGetDTDEntities()
getDocTypeName()
XmlDomGetDTDName()
getDocTypeNotations()
XmlDomGetDTDNotations()
getDocument()

Obsolete; document returned by XmlLoadDomxxx()calls

getDocumentElement()
XmlDomGetDoctElem()
getElementByID()
XmlDomGetElemByID()
getElementsByTagName()
XmlDomGetElemsByTag()
getElementsByTagNameNS()
XmlDomGetElemsByTag()
getEncoding()
XmlDomGetEncoding()
getEntityNotation()
XmlDomGetEntityNotation()
getEntityPubID()
XmlDomGetEntityPubID()
getEntitySysID()
XmlDomGetEntitySysID()
getFirstChild()
XmlDomGetFirstChild()
getImplementation()

Obsolete; use xmlctx instead of DOMImplementation

getLastChild()
XmlDomGetLastChild()
getNamedItem()
XmlDomGetNamedItem()
getNextSibling()
XmlDomGetNextSibling()
getNodeLocal()
XmlDomGetNodeLocal(), XmlDomGetNodeLocalLen()
getNodeMapLength()
XmlDomGetNodeMapLength()
getNodeName()
XmlDomGetNodeName(), XmlDomGetNodeNameLen()
getNodeNameSpace()
XmlDomGetNodeURI(), XmlDomGetNodeURILen()
getNodePrefix()
XmlDomGetNodePrefix()
getNodeQualifiedName()
XmlDomGetNodedName(), XmlDomGetNodedNameLen()
getNodeType()
XmlDomGetNodeType()
getNodeValue()
XmlDomGetNodeValue(), XmlDomGetNodeValueLen()
getNotationPubID()
XmlDomGetNotationPubID()
getNotationSysID()
XmlDomGetNotationSysID()
getOwnerDocument()
XmlDomGetOwnerDocument()
getParentNode()
XmlDomGetParentNode()
getPIData()
XmlDomGetPIData()
getPITarget()
XmlDomGetPITarget()
getPreviousSibling()
XmlDomGetPrevSibling()
getTagName()
XmlDomGetTagName()
hasAttributes()
XmlDomHasAttrs()
hasChildNodes()
XmlDomHasChildNodes()
hasFeature()
XmlHasFeature()
importNode()
XmlDomImportNode()
insertBefore()
XmlDomInsertBefore()
insertData()
XmlDomInsertData()
isSingleChar()
XmlIsSimple()
isStandalone()
XmlDomGetDecl()
isUnicode()
XmlDomIsUnicode()
nodeValid()
XmlDomValidate()
normalize()
XmlDomNormalize()
numAttributes()
XmlDomNumAttrs()
numChildNodes()
XmlDomNumChildNodes()
prefixToURI()
XmlDomPrefixToURI()
printBuffer()
XmlSaveDomBuffer()
printBufferEnc()
XmlSaveDomBuffer()
printCallback()
XmlSaveDomStream()
printCallbackEnc()
XmlSaveDomStream()
printSize()
XmlSaveDomSize()
printSizeEnc()
XmlSaveDomSize()
printStream()
XmlSaveDomStdio()
printStreamEnc()
XmlSaveDomStdio()
removeAttribute()
XmlDomRemoveAttr()
removeAttributeNode()
XmlDomRemoveAttrNode()
removeChild()
XmlDomRemoveChild()
removeNamedItem()
XmlDomRemoveNamedItem()
replaceChild()
XmlDomReplaceChild()
replaceData()
XmlDomReplaceData()
saveString2()
XmlDomSaveString2()
saveString()
XmlDomSaveString()
setAttribute()
XmlDomSetAttr()
setAttributeNode()
XmlDomSetAttrNode()
setAttrValue()
XmlDomSetAttrValue()
setCharData()
XmlDomSetCharData()
setNamedItem()
XmlDomSetNamedItem()
setNodeValue()
XmlDomSetNodeValue(), XmlDomSetNodeValueLen()
setPIData()
XmlDomSetPIData()
splitText()
XmlDomSplitText()
substringData()
XmlDomSubstringData()
xmlaccess()
XmlAccess()
xmlinit()
XmlCreate()
xmlinitenc()
XmlCreate()
xmlparse()
XmlLoadDomURI()
xmlparsebuf()
XmlLoadDomBuffer()
xmlparsedtd()

Obsolete; use XML_LOAD_FLAG_DTD_ONLY flag in XmlLoadXXX() calls.

xmlparsefile()
XmlLoadDomFile()
xmlparsestream()
XmlLoadDomStream()
xmlterm()
XmlDestroy()
xpevalxpathexpr()
XmlXPathEval()
xpfreexpathctx()
XmlXPathDeleteCtx()
xpgetbooleanval()
XmlXPathGetObjectBoolean()
xpgetfirstnsetelem()
XmlXPathGetObjectNSetNum()
xpgetnextnsetelem()
XmlXPathGetObjectNSetNum()
xpgetnsetelemnode()
XmlXPathGetObjectNSetNum()
xpgetnsetval()
XmlXPathGetObjectNSetNum()
xpgetnumval()
XmlXPathGetObjectNumber()
xpgetrtfragval()
XmlXPathGetObjectFragment()
xpgetstrval()
XmlXPathGetObjectString()
xpgetxpobjtyp()
XmlXPathGetObjectType()
xpmakexpathctx()
XmlXPathCreateCtx()
xpparsexpathexpr()
XmlXPathParse()
xslgetbaseuri()
XmlXslGetBaseURI()
xslgetoutputdomctx()
XmlXslGetOutputDom()
xslgetoutputsax()

Unnecessary

xslgetoutputstream()

Unnecessary

xslgetresultdocfrag()
XmlXslGetOutputFragment()
xslgettextparam()
XmlXslGetTextParam()
xslgetxslctx()

Unnecessary

xslinit()
XmlXslCreateCtx()
xslprocess()
XmlXslProcess()
xslprocessex()
XmlXslProcess()
xslprocessxml()
XmlXslProcess()
xslprocessxmldocfrag()
XmlXslProcess()
xslresetallparams()
XmlXslResetAllParams()
xslsetoutputdomctx()
XmlXslSetOutputDom()
xslsetoutputencoding()
XmlXslSetOutputEncoding()
xslsetoutputmethod()
XmlXslSetOutputMethod()
xslsetoutputsax()
XmlXslSetOutputSax()
xslsetoutputsaxctx()
XmlXslSetOutputSax()
xslsetoutputstream()
XmlXslSetOutputStream()
xslsettextparam()
XmlXslSetTextParam()
xslterm()
XmlXslDeleteCtx()

Reader Comment

   

Comments, corrections, and suggestions are forwarded to authors every week. By submitting, you confirm you agree to the terms and conditions. Use the OTN forums for product questions. For support or consulting, file a service request through My Oracle Support.

Hide Navigation

Quick Lookup

Database Library · Master Index · Master Glossary · Book List · Data Dictionary · SQL Keywords · Initialization Parameters · Advanced Search · Error Messages

Main Categories

This Page

This Document

New and changed documents:
RSS Feed HTML RSS Feed PDF