mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-30 22:43:14 +03:00
Dodji pointed out a bug in xmlGetNodePath() applied patch from Albert Chin
* tree.c: Dodji pointed out a bug in xmlGetNodePath() * xmlcatalog.c: applied patch from Albert Chin to add a --no-super-update option to xmlcatalog see #145461 and another patch also from Albert Chin to not crash on -sgml --del without args see #145462 * Makefile.am: applied another patch from Albert Chin to fix a problem with diff on Solaris #145511 * xmlstring.c: fix xmlCheckUTF8() according to the suggestion in bug #148115 * python/libxml.py: apply fix from Marc-Antoine Parent about the errors in libxml(2).py on the node wrapper #135547 Daniel
This commit is contained in:
14
ChangeLog
14
ChangeLog
@ -1,3 +1,17 @@
|
|||||||
|
Sat Aug 14 23:50:10 CEST 2004 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
|
* tree.c: Dodji pointed out a bug in xmlGetNodePath()
|
||||||
|
* xmlcatalog.c: applied patch from Albert Chin to add a
|
||||||
|
--no-super-update option to xmlcatalog see #145461
|
||||||
|
and another patch also from Albert Chin to not crash
|
||||||
|
on -sgml --del without args see #145462
|
||||||
|
* Makefile.am: applied another patch from Albert Chin to
|
||||||
|
fix a problem with diff on Solaris #145511
|
||||||
|
* xmlstring.c: fix xmlCheckUTF8() according to the suggestion
|
||||||
|
in bug #148115
|
||||||
|
* python/libxml.py: apply fix from Marc-Antoine Parent about
|
||||||
|
the errors in libxml(2).py on the node wrapper #135547
|
||||||
|
|
||||||
Sat Aug 14 13:18:57 CEST 2004 Daniel Veillard <daniel@veillard.com>
|
Sat Aug 14 13:18:57 CEST 2004 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* Makefile.am: added a dumb rule to able to compile tst.c
|
* Makefile.am: added a dumb rule to able to compile tst.c
|
||||||
|
@ -470,7 +470,7 @@ XIncludetests : xmllint$(EXEEXT)
|
|||||||
$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
|
$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
|
||||||
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
||||||
else \
|
else \
|
||||||
log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name | grep -v 'failed to load external entity' ; \
|
log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name ; \
|
||||||
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
||||||
diff $(srcdir)/result/XInclude/$$name result.$$name ; \
|
diff $(srcdir)/result/XInclude/$$name result.$$name ; \
|
||||||
diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
|
diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
|
||||||
@ -487,7 +487,7 @@ XIncludetests : xmllint$(EXEEXT)
|
|||||||
$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
|
$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
|
||||||
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
||||||
else \
|
else \
|
||||||
log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name | grep -v 'failed to load external entity' ; \
|
log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
|
||||||
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
|
||||||
diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
|
diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
|
||||||
diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
|
diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
|
||||||
|
@ -488,19 +488,19 @@ class xmlCoreBreadthFirstItertor:
|
|||||||
#
|
#
|
||||||
def nodeWrap(o):
|
def nodeWrap(o):
|
||||||
# TODO try to cast to the most appropriate node class
|
# TODO try to cast to the most appropriate node class
|
||||||
name = libxml2mod.name(o)
|
name = libxml2mod.type(o)
|
||||||
if name == "element" or name == "text":
|
if name == "element" or name == "text":
|
||||||
return xmlNode(_obj=o)
|
return xmlNode(_obj=o)
|
||||||
if name == "attribute":
|
if name == "attribute":
|
||||||
return xmlAttr(_obj=o)
|
return xmlAttr(_obj=o)
|
||||||
if name[0:8] == "document":
|
if name[0:8] == "document":
|
||||||
return xmlDoc(_obj=o)
|
return xmlDoc(_obj=o)
|
||||||
if name[0:8] == "namespace":
|
if name == "namespace":
|
||||||
return xmlNs(_obj=o)
|
return xmlNs(_obj=o)
|
||||||
if name == "elem_decl":
|
if name == "elem_decl":
|
||||||
return xmlElement(_obj=o)
|
return xmlElement(_obj=o)
|
||||||
if name == "attribute_decl":
|
if name == "attribute_decl":
|
||||||
return xmlAtribute(_obj=o)
|
return xmlAttribute(_obj=o)
|
||||||
if name == "entity_decl":
|
if name == "entity_decl":
|
||||||
return xmlEntity(_obj=o)
|
return xmlEntity(_obj=o)
|
||||||
if name == "dtd":
|
if name == "dtd":
|
||||||
|
@ -636,6 +636,56 @@ Class xmlDoc(xmlNode)
|
|||||||
|
|
||||||
# functions from module xpointer
|
# functions from module xpointer
|
||||||
xpointerNewContext()
|
xpointerNewContext()
|
||||||
|
Class xpathContext()
|
||||||
|
# accessors
|
||||||
|
contextDoc()
|
||||||
|
contextNode()
|
||||||
|
contextPosition()
|
||||||
|
contextSize()
|
||||||
|
function()
|
||||||
|
functionURI()
|
||||||
|
setContextDoc()
|
||||||
|
setContextNode()
|
||||||
|
|
||||||
|
# functions from module python
|
||||||
|
registerXPathFunction()
|
||||||
|
|
||||||
|
# functions from module xpath
|
||||||
|
xpathEval()
|
||||||
|
xpathEvalExpression()
|
||||||
|
xpathFreeContext()
|
||||||
|
|
||||||
|
# functions from module xpathInternals
|
||||||
|
xpathNewParserContext()
|
||||||
|
xpathNsLookup()
|
||||||
|
xpathRegisterAllFunctions()
|
||||||
|
xpathRegisterNs()
|
||||||
|
xpathRegisteredFuncsCleanup()
|
||||||
|
xpathRegisteredNsCleanup()
|
||||||
|
xpathRegisteredVariablesCleanup()
|
||||||
|
xpathVariableLookup()
|
||||||
|
xpathVariableLookupNS()
|
||||||
|
|
||||||
|
# functions from module xpointer
|
||||||
|
xpointerEval()
|
||||||
|
|
||||||
|
|
||||||
|
Class xmlAttribute(xmlNode)
|
||||||
|
Class catalog()
|
||||||
|
|
||||||
|
# functions from module catalog
|
||||||
|
add()
|
||||||
|
catalogIsEmpty()
|
||||||
|
convertSGMLCatalog()
|
||||||
|
dump()
|
||||||
|
remove()
|
||||||
|
resolve()
|
||||||
|
resolvePublic()
|
||||||
|
resolveSystem()
|
||||||
|
resolveURI()
|
||||||
|
|
||||||
|
|
||||||
|
Class xmlElement(xmlNode)
|
||||||
|
|
||||||
|
|
||||||
Class xmlAttr(xmlNode)
|
Class xmlAttr(xmlNode)
|
||||||
@ -654,12 +704,95 @@ Class xmlAttr(xmlNode)
|
|||||||
# functions from module valid
|
# functions from module valid
|
||||||
removeID()
|
removeID()
|
||||||
removeRef()
|
removeRef()
|
||||||
|
|
||||||
|
|
||||||
|
Class xmlTextReader(xmlTextReaderCore)
|
||||||
|
|
||||||
|
# functions from module xmlreader
|
||||||
|
AttributeCount()
|
||||||
|
BaseUri()
|
||||||
|
Close()
|
||||||
|
CurrentDoc()
|
||||||
|
CurrentNode()
|
||||||
|
Depth()
|
||||||
|
Expand()
|
||||||
|
GetAttribute()
|
||||||
|
GetAttributeNo()
|
||||||
|
GetAttributeNs()
|
||||||
|
GetParserProp()
|
||||||
|
GetRemainder()
|
||||||
|
HasAttributes()
|
||||||
|
HasValue()
|
||||||
|
IsDefault()
|
||||||
|
IsEmptyElement()
|
||||||
|
IsValid()
|
||||||
|
LocalName()
|
||||||
|
LookupNamespace()
|
||||||
|
MoveToAttribute()
|
||||||
|
MoveToAttributeNo()
|
||||||
|
MoveToAttributeNs()
|
||||||
|
MoveToElement()
|
||||||
|
MoveToFirstAttribute()
|
||||||
|
MoveToNextAttribute()
|
||||||
|
Name()
|
||||||
|
NamespaceUri()
|
||||||
|
NewDoc()
|
||||||
|
NewFd()
|
||||||
|
NewFile()
|
||||||
|
NewMemory()
|
||||||
|
NewWalker()
|
||||||
|
Next()
|
||||||
|
NextSibling()
|
||||||
|
NodeType()
|
||||||
|
Normalization()
|
||||||
|
Prefix()
|
||||||
|
Preserve()
|
||||||
|
QuoteChar()
|
||||||
|
Read()
|
||||||
|
ReadAttributeValue()
|
||||||
|
ReadInnerXml()
|
||||||
|
ReadOuterXml()
|
||||||
|
ReadState()
|
||||||
|
ReadString()
|
||||||
|
RelaxNGSetSchema()
|
||||||
|
RelaxNGValidate()
|
||||||
|
SetParserProp()
|
||||||
|
String()
|
||||||
|
Value()
|
||||||
|
XmlLang()
|
||||||
Class xmlReg()
|
Class xmlReg()
|
||||||
|
|
||||||
# functions from module xmlregexp
|
# functions from module xmlregexp
|
||||||
regexpExec()
|
regexpExec()
|
||||||
regexpIsDeterminist()
|
regexpIsDeterminist()
|
||||||
regexpPrint()
|
regexpPrint()
|
||||||
|
|
||||||
|
|
||||||
|
Class xmlEntity(xmlNode)
|
||||||
|
|
||||||
|
# functions from module parserInternals
|
||||||
|
handleEntity()
|
||||||
|
Class relaxNgSchema()
|
||||||
|
|
||||||
|
# functions from module relaxng
|
||||||
|
relaxNGDump()
|
||||||
|
relaxNGDumpTree()
|
||||||
|
relaxNGNewValidCtxt()
|
||||||
|
|
||||||
|
# functions from module xmlreader
|
||||||
|
RelaxNGSetSchema()
|
||||||
|
Class Error()
|
||||||
|
# accessors
|
||||||
|
code()
|
||||||
|
domain()
|
||||||
|
file()
|
||||||
|
level()
|
||||||
|
line()
|
||||||
|
message()
|
||||||
|
|
||||||
|
# functions from module xmlerror
|
||||||
|
copyError()
|
||||||
|
resetError()
|
||||||
Class relaxNgValidCtxt()
|
Class relaxNgValidCtxt()
|
||||||
|
|
||||||
# functions from module relaxng
|
# functions from module relaxng
|
||||||
@ -668,6 +801,73 @@ Class relaxNgValidCtxt()
|
|||||||
relaxNGValidatePopElement()
|
relaxNGValidatePopElement()
|
||||||
relaxNGValidatePushCData()
|
relaxNGValidatePushCData()
|
||||||
relaxNGValidatePushElement()
|
relaxNGValidatePushElement()
|
||||||
|
Class xpathParserContext()
|
||||||
|
# accessors
|
||||||
|
context()
|
||||||
|
|
||||||
|
# functions from module xpathInternals
|
||||||
|
xpathAddValues()
|
||||||
|
xpathBooleanFunction()
|
||||||
|
xpathCeilingFunction()
|
||||||
|
xpathCompareValues()
|
||||||
|
xpathConcatFunction()
|
||||||
|
xpathContainsFunction()
|
||||||
|
xpathCountFunction()
|
||||||
|
xpathDivValues()
|
||||||
|
xpathEqualValues()
|
||||||
|
xpathErr()
|
||||||
|
xpathEvalExpr()
|
||||||
|
xpathFalseFunction()
|
||||||
|
xpathFloorFunction()
|
||||||
|
xpathFreeParserContext()
|
||||||
|
xpathIdFunction()
|
||||||
|
xpathLangFunction()
|
||||||
|
xpathLastFunction()
|
||||||
|
xpathLocalNameFunction()
|
||||||
|
xpathModValues()
|
||||||
|
xpathMultValues()
|
||||||
|
xpathNamespaceURIFunction()
|
||||||
|
xpathNextAncestor()
|
||||||
|
xpathNextAncestorOrSelf()
|
||||||
|
xpathNextAttribute()
|
||||||
|
xpathNextChild()
|
||||||
|
xpathNextDescendant()
|
||||||
|
xpathNextDescendantOrSelf()
|
||||||
|
xpathNextFollowing()
|
||||||
|
xpathNextFollowingSibling()
|
||||||
|
xpathNextNamespace()
|
||||||
|
xpathNextParent()
|
||||||
|
xpathNextPreceding()
|
||||||
|
xpathNextPrecedingSibling()
|
||||||
|
xpathNextSelf()
|
||||||
|
xpathNormalizeFunction()
|
||||||
|
xpathNotEqualValues()
|
||||||
|
xpathNotFunction()
|
||||||
|
xpathNumberFunction()
|
||||||
|
xpathParseNCName()
|
||||||
|
xpathParseName()
|
||||||
|
xpathPopBoolean()
|
||||||
|
xpathPopNumber()
|
||||||
|
xpathPopString()
|
||||||
|
xpathPositionFunction()
|
||||||
|
xpathRoot()
|
||||||
|
xpathRoundFunction()
|
||||||
|
xpathStartsWithFunction()
|
||||||
|
xpathStringFunction()
|
||||||
|
xpathStringLengthFunction()
|
||||||
|
xpathSubValues()
|
||||||
|
xpathSubstringAfterFunction()
|
||||||
|
xpathSubstringBeforeFunction()
|
||||||
|
xpathSubstringFunction()
|
||||||
|
xpathSumFunction()
|
||||||
|
xpathTranslateFunction()
|
||||||
|
xpathTrueFunction()
|
||||||
|
xpathValueFlipSign()
|
||||||
|
xpatherror()
|
||||||
|
|
||||||
|
# functions from module xpointer
|
||||||
|
xpointerEvalRangePredicate()
|
||||||
|
xpointerRangeToFunction()
|
||||||
|
|
||||||
|
|
||||||
Class parserCtxt(parserCtxtCore)
|
Class parserCtxt(parserCtxtCore)
|
||||||
@ -775,90 +975,6 @@ Class xmlDtd(xmlNode)
|
|||||||
dtdElementDesc()
|
dtdElementDesc()
|
||||||
dtdQAttrDesc()
|
dtdQAttrDesc()
|
||||||
dtdQElementDesc()
|
dtdQElementDesc()
|
||||||
Class relaxNgParserCtxt()
|
|
||||||
|
|
||||||
# functions from module relaxng
|
|
||||||
relaxNGParse()
|
|
||||||
relaxParserSetFlag()
|
|
||||||
Class xpathParserContext()
|
|
||||||
# accessors
|
|
||||||
context()
|
|
||||||
|
|
||||||
# functions from module xpathInternals
|
|
||||||
xpathAddValues()
|
|
||||||
xpathBooleanFunction()
|
|
||||||
xpathCeilingFunction()
|
|
||||||
xpathCompareValues()
|
|
||||||
xpathConcatFunction()
|
|
||||||
xpathContainsFunction()
|
|
||||||
xpathCountFunction()
|
|
||||||
xpathDivValues()
|
|
||||||
xpathEqualValues()
|
|
||||||
xpathErr()
|
|
||||||
xpathEvalExpr()
|
|
||||||
xpathFalseFunction()
|
|
||||||
xpathFloorFunction()
|
|
||||||
xpathFreeParserContext()
|
|
||||||
xpathIdFunction()
|
|
||||||
xpathLangFunction()
|
|
||||||
xpathLastFunction()
|
|
||||||
xpathLocalNameFunction()
|
|
||||||
xpathModValues()
|
|
||||||
xpathMultValues()
|
|
||||||
xpathNamespaceURIFunction()
|
|
||||||
xpathNextAncestor()
|
|
||||||
xpathNextAncestorOrSelf()
|
|
||||||
xpathNextAttribute()
|
|
||||||
xpathNextChild()
|
|
||||||
xpathNextDescendant()
|
|
||||||
xpathNextDescendantOrSelf()
|
|
||||||
xpathNextFollowing()
|
|
||||||
xpathNextFollowingSibling()
|
|
||||||
xpathNextNamespace()
|
|
||||||
xpathNextParent()
|
|
||||||
xpathNextPreceding()
|
|
||||||
xpathNextPrecedingSibling()
|
|
||||||
xpathNextSelf()
|
|
||||||
xpathNormalizeFunction()
|
|
||||||
xpathNotEqualValues()
|
|
||||||
xpathNotFunction()
|
|
||||||
xpathNumberFunction()
|
|
||||||
xpathParseNCName()
|
|
||||||
xpathParseName()
|
|
||||||
xpathPopBoolean()
|
|
||||||
xpathPopNumber()
|
|
||||||
xpathPopString()
|
|
||||||
xpathPositionFunction()
|
|
||||||
xpathRoot()
|
|
||||||
xpathRoundFunction()
|
|
||||||
xpathStartsWithFunction()
|
|
||||||
xpathStringFunction()
|
|
||||||
xpathStringLengthFunction()
|
|
||||||
xpathSubValues()
|
|
||||||
xpathSubstringAfterFunction()
|
|
||||||
xpathSubstringBeforeFunction()
|
|
||||||
xpathSubstringFunction()
|
|
||||||
xpathSumFunction()
|
|
||||||
xpathTranslateFunction()
|
|
||||||
xpathTrueFunction()
|
|
||||||
xpathValueFlipSign()
|
|
||||||
xpatherror()
|
|
||||||
|
|
||||||
# functions from module xpointer
|
|
||||||
xpointerEvalRangePredicate()
|
|
||||||
xpointerRangeToFunction()
|
|
||||||
Class catalog()
|
|
||||||
|
|
||||||
# functions from module catalog
|
|
||||||
add()
|
|
||||||
catalogIsEmpty()
|
|
||||||
convertSGMLCatalog()
|
|
||||||
dump()
|
|
||||||
remove()
|
|
||||||
resolve()
|
|
||||||
resolvePublic()
|
|
||||||
resolveSystem()
|
|
||||||
resolveURI()
|
|
||||||
|
|
||||||
|
|
||||||
Class xmlNs(xmlNode)
|
Class xmlNs(xmlNode)
|
||||||
@ -882,6 +998,40 @@ Class xmlNs(xmlNode)
|
|||||||
|
|
||||||
# functions from module xpathInternals
|
# functions from module xpathInternals
|
||||||
xpathNodeSetFreeNs()
|
xpathNodeSetFreeNs()
|
||||||
|
|
||||||
|
|
||||||
|
Class inputBuffer(ioReadWrapper)
|
||||||
|
|
||||||
|
# functions from module xmlIO
|
||||||
|
grow()
|
||||||
|
push()
|
||||||
|
read()
|
||||||
|
|
||||||
|
# functions from module xmlreader
|
||||||
|
newTextReader()
|
||||||
|
Class relaxNgParserCtxt()
|
||||||
|
|
||||||
|
# functions from module relaxng
|
||||||
|
relaxNGParse()
|
||||||
|
relaxParserSetFlag()
|
||||||
|
|
||||||
|
|
||||||
|
Class outputBuffer(ioWriteWrapper)
|
||||||
|
|
||||||
|
# functions from module HTMLtree
|
||||||
|
htmlDocContentDumpFormatOutput()
|
||||||
|
htmlDocContentDumpOutput()
|
||||||
|
htmlNodeDumpFormatOutput()
|
||||||
|
htmlNodeDumpOutput()
|
||||||
|
|
||||||
|
# functions from module tree
|
||||||
|
nodeDumpOutput()
|
||||||
|
saveFileTo()
|
||||||
|
saveFormatFileTo()
|
||||||
|
|
||||||
|
# functions from module xmlIO
|
||||||
|
write()
|
||||||
|
writeString()
|
||||||
Class xmlTextReaderLocator()
|
Class xmlTextReaderLocator()
|
||||||
|
|
||||||
# functions from module xmlreader
|
# functions from module xmlreader
|
||||||
@ -912,153 +1062,3 @@ Class URI()
|
|||||||
parseURIReference()
|
parseURIReference()
|
||||||
printURI()
|
printURI()
|
||||||
saveUri()
|
saveUri()
|
||||||
|
|
||||||
|
|
||||||
Class xmlAttribute(xmlNode)
|
|
||||||
Class xpathContext()
|
|
||||||
# accessors
|
|
||||||
contextDoc()
|
|
||||||
contextNode()
|
|
||||||
contextPosition()
|
|
||||||
contextSize()
|
|
||||||
function()
|
|
||||||
functionURI()
|
|
||||||
setContextDoc()
|
|
||||||
setContextNode()
|
|
||||||
|
|
||||||
# functions from module python
|
|
||||||
registerXPathFunction()
|
|
||||||
|
|
||||||
# functions from module xpath
|
|
||||||
xpathEval()
|
|
||||||
xpathEvalExpression()
|
|
||||||
xpathFreeContext()
|
|
||||||
|
|
||||||
# functions from module xpathInternals
|
|
||||||
xpathNewParserContext()
|
|
||||||
xpathNsLookup()
|
|
||||||
xpathRegisterAllFunctions()
|
|
||||||
xpathRegisterNs()
|
|
||||||
xpathRegisteredFuncsCleanup()
|
|
||||||
xpathRegisteredNsCleanup()
|
|
||||||
xpathRegisteredVariablesCleanup()
|
|
||||||
xpathVariableLookup()
|
|
||||||
xpathVariableLookupNS()
|
|
||||||
|
|
||||||
# functions from module xpointer
|
|
||||||
xpointerEval()
|
|
||||||
|
|
||||||
|
|
||||||
Class xmlElement(xmlNode)
|
|
||||||
|
|
||||||
|
|
||||||
Class xmlTextReader(xmlTextReaderCore)
|
|
||||||
|
|
||||||
# functions from module xmlreader
|
|
||||||
AttributeCount()
|
|
||||||
BaseUri()
|
|
||||||
Close()
|
|
||||||
CurrentDoc()
|
|
||||||
CurrentNode()
|
|
||||||
Depth()
|
|
||||||
Expand()
|
|
||||||
GetAttribute()
|
|
||||||
GetAttributeNo()
|
|
||||||
GetAttributeNs()
|
|
||||||
GetParserProp()
|
|
||||||
GetRemainder()
|
|
||||||
HasAttributes()
|
|
||||||
HasValue()
|
|
||||||
IsDefault()
|
|
||||||
IsEmptyElement()
|
|
||||||
IsValid()
|
|
||||||
LocalName()
|
|
||||||
LookupNamespace()
|
|
||||||
MoveToAttribute()
|
|
||||||
MoveToAttributeNo()
|
|
||||||
MoveToAttributeNs()
|
|
||||||
MoveToElement()
|
|
||||||
MoveToFirstAttribute()
|
|
||||||
MoveToNextAttribute()
|
|
||||||
Name()
|
|
||||||
NamespaceUri()
|
|
||||||
NewDoc()
|
|
||||||
NewFd()
|
|
||||||
NewFile()
|
|
||||||
NewMemory()
|
|
||||||
NewWalker()
|
|
||||||
Next()
|
|
||||||
NextSibling()
|
|
||||||
NodeType()
|
|
||||||
Normalization()
|
|
||||||
Prefix()
|
|
||||||
Preserve()
|
|
||||||
QuoteChar()
|
|
||||||
Read()
|
|
||||||
ReadAttributeValue()
|
|
||||||
ReadInnerXml()
|
|
||||||
ReadOuterXml()
|
|
||||||
ReadState()
|
|
||||||
ReadString()
|
|
||||||
RelaxNGSetSchema()
|
|
||||||
RelaxNGValidate()
|
|
||||||
SetParserProp()
|
|
||||||
String()
|
|
||||||
Value()
|
|
||||||
XmlLang()
|
|
||||||
|
|
||||||
|
|
||||||
Class xmlEntity(xmlNode)
|
|
||||||
|
|
||||||
# functions from module parserInternals
|
|
||||||
handleEntity()
|
|
||||||
Class Error()
|
|
||||||
# accessors
|
|
||||||
code()
|
|
||||||
domain()
|
|
||||||
file()
|
|
||||||
level()
|
|
||||||
line()
|
|
||||||
message()
|
|
||||||
|
|
||||||
# functions from module xmlerror
|
|
||||||
copyError()
|
|
||||||
resetError()
|
|
||||||
Class relaxNgSchema()
|
|
||||||
|
|
||||||
# functions from module relaxng
|
|
||||||
relaxNGDump()
|
|
||||||
relaxNGDumpTree()
|
|
||||||
relaxNGNewValidCtxt()
|
|
||||||
|
|
||||||
# functions from module xmlreader
|
|
||||||
RelaxNGSetSchema()
|
|
||||||
|
|
||||||
|
|
||||||
Class inputBuffer(ioReadWrapper)
|
|
||||||
|
|
||||||
# functions from module xmlIO
|
|
||||||
grow()
|
|
||||||
push()
|
|
||||||
read()
|
|
||||||
|
|
||||||
# functions from module xmlreader
|
|
||||||
newTextReader()
|
|
||||||
|
|
||||||
|
|
||||||
Class outputBuffer(ioWriteWrapper)
|
|
||||||
|
|
||||||
# functions from module HTMLtree
|
|
||||||
htmlDocContentDumpFormatOutput()
|
|
||||||
htmlDocContentDumpOutput()
|
|
||||||
htmlNodeDumpFormatOutput()
|
|
||||||
htmlNodeDumpOutput()
|
|
||||||
|
|
||||||
# functions from module tree
|
|
||||||
nodeDumpOutput()
|
|
||||||
saveFileTo()
|
|
||||||
saveFormatFileTo()
|
|
||||||
|
|
||||||
# functions from module xmlIO
|
|
||||||
write()
|
|
||||||
writeString()
|
|
||||||
|
4
tree.c
4
tree.c
@ -4284,8 +4284,8 @@ xmlGetNodePath(xmlNodePtr node)
|
|||||||
if (occur == 0) {
|
if (occur == 0) {
|
||||||
tmp = cur->next;
|
tmp = cur->next;
|
||||||
while (tmp != NULL && occur == 0) {
|
while (tmp != NULL && occur == 0) {
|
||||||
if ((cur->type == XML_TEXT_NODE) ||
|
if ((tmp->type == XML_TEXT_NODE) ||
|
||||||
(cur->type == XML_CDATA_SECTION_NODE))
|
(tmp->type == XML_CDATA_SECTION_NODE))
|
||||||
occur++;
|
occur++;
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
}
|
}
|
||||||
|
56
xmlcatalog.c
56
xmlcatalog.c
@ -37,6 +37,7 @@ static int create = 0;
|
|||||||
static int add = 0;
|
static int add = 0;
|
||||||
static int del = 0;
|
static int del = 0;
|
||||||
static int convert = 0;
|
static int convert = 0;
|
||||||
|
static int no_super_update = 0;
|
||||||
static int verbose = 0;
|
static int verbose = 0;
|
||||||
static char *filename = NULL;
|
static char *filename = NULL;
|
||||||
|
|
||||||
@ -306,17 +307,20 @@ static void usershell(void) {
|
|||||||
* *
|
* *
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
static void usage(const char *name) {
|
static void usage(const char *name) {
|
||||||
printf("Usage : %s [options] catalogfile entities...\n", name);
|
printf("\
|
||||||
printf("\tParse the catalog file and query it for the entities\n");
|
Usage : %s [options] catalogfile entities...\n\
|
||||||
printf("\t--sgml : handle SGML Super catalogs for --add and --del\n");
|
\tParse the catalog file and query it for the entities\n\
|
||||||
printf("\t--shell : run a shell allowing interactive queries\n");
|
\t--sgml : handle SGML Super catalogs for --add and --del\n\
|
||||||
printf("\t--create : create a new catalog\n");
|
\t--shell : run a shell allowing interactive queries\n\
|
||||||
printf("\t--add 'type' 'orig' 'replace' : add an entry\n");
|
\t--create : create a new catalog\n\
|
||||||
printf("\t--del 'values' : remove values\n");
|
\t--add 'type' 'orig' 'replace' : add an XML entry\n\
|
||||||
printf("\t--noout: avoid dumping the result on stdout\n");
|
\t--add 'entry' : add an SGML entry\n\
|
||||||
printf("\t used with add or del, it saves the catalog changes\n");
|
\t--del 'values' : remove values\n\
|
||||||
printf("\t and with --sgml it also updates the super catalog\n");
|
\t--noout: avoid dumping the result on stdout\n\
|
||||||
printf("\t-v --verbose : provide debug informations\n");
|
\t used with --add or --del, it saves the catalog changes\n\
|
||||||
|
\t and with --sgml it automatically updates the super catalog\n\
|
||||||
|
\t--no-super-update: do not update the SGML super catalog\n\
|
||||||
|
\t-v --verbose : provide debug informations\n", name);
|
||||||
}
|
}
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
int i;
|
int i;
|
||||||
@ -357,6 +361,9 @@ int main(int argc, char **argv) {
|
|||||||
} else if ((!strcmp(argv[i], "-convert")) ||
|
} else if ((!strcmp(argv[i], "-convert")) ||
|
||||||
(!strcmp(argv[i], "--convert"))) {
|
(!strcmp(argv[i], "--convert"))) {
|
||||||
convert++;
|
convert++;
|
||||||
|
} else if ((!strcmp(argv[i], "-no-super-update")) ||
|
||||||
|
(!strcmp(argv[i], "--no-super-update"))) {
|
||||||
|
no_super_update++;
|
||||||
} else if ((!strcmp(argv[i], "-add")) ||
|
} else if ((!strcmp(argv[i], "-add")) ||
|
||||||
(!strcmp(argv[i], "--add"))) {
|
(!strcmp(argv[i], "--add"))) {
|
||||||
if (sgml)
|
if (sgml)
|
||||||
@ -386,6 +393,14 @@ int main(int argc, char **argv) {
|
|||||||
} else if ((!strcmp(argv[i], "-del")) ||
|
} else if ((!strcmp(argv[i], "-del")) ||
|
||||||
(!strcmp(argv[i], "--del"))) {
|
(!strcmp(argv[i], "--del"))) {
|
||||||
i += 1;
|
i += 1;
|
||||||
|
|
||||||
|
/* No catalog entry specified */
|
||||||
|
if (i == argc || (sgml && i + 1 == argc)) {
|
||||||
|
fprintf(stderr, "No catalog entry specified to remove from\n");
|
||||||
|
usage (argv[0]);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
} else if (argv[i][0] == '-')
|
} else if (argv[i][0] == '-')
|
||||||
continue;
|
continue;
|
||||||
@ -424,14 +439,17 @@ int main(int argc, char **argv) {
|
|||||||
(!strcmp(argv[i], "--add"))) {
|
(!strcmp(argv[i], "--add"))) {
|
||||||
if (catal == NULL)
|
if (catal == NULL)
|
||||||
catal = xmlNewCatalog(1);
|
catal = xmlNewCatalog(1);
|
||||||
super = xmlLoadSGMLSuperCatalog(XML_SGML_DEFAULT_CATALOG);
|
|
||||||
if (super == NULL)
|
|
||||||
super = xmlNewCatalog(1);
|
|
||||||
|
|
||||||
xmlACatalogAdd(catal, BAD_CAST "CATALOG",
|
xmlACatalogAdd(catal, BAD_CAST "CATALOG",
|
||||||
BAD_CAST argv[i + 2], NULL);
|
BAD_CAST argv[i + 2], NULL);
|
||||||
xmlACatalogAdd(super, BAD_CAST "CATALOG",
|
|
||||||
BAD_CAST argv[i + 1], NULL);
|
if (!no_super_update) {
|
||||||
|
super = xmlLoadSGMLSuperCatalog(XML_SGML_DEFAULT_CATALOG);
|
||||||
|
if (super == NULL)
|
||||||
|
super = xmlNewCatalog(1);
|
||||||
|
|
||||||
|
xmlACatalogAdd(super, BAD_CAST "CATALOG",
|
||||||
|
BAD_CAST argv[i + 1], NULL);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (catal != NULL)
|
if (catal != NULL)
|
||||||
ret = xmlACatalogRemove(catal, BAD_CAST argv[i + 2]);
|
ret = xmlACatalogRemove(catal, BAD_CAST argv[i + 2]);
|
||||||
@ -442,7 +460,7 @@ int main(int argc, char **argv) {
|
|||||||
argv[i + 1]);
|
argv[i + 1]);
|
||||||
exit_value = 1;
|
exit_value = 1;
|
||||||
}
|
}
|
||||||
if ((noout) && (catal != NULL) &&
|
if ((!no_super_update) && (noout) && (catal != NULL) &&
|
||||||
(xmlCatalogIsEmpty(catal))) {
|
(xmlCatalogIsEmpty(catal))) {
|
||||||
super = xmlLoadSGMLSuperCatalog(
|
super = xmlLoadSGMLSuperCatalog(
|
||||||
XML_SGML_DEFAULT_CATALOG);
|
XML_SGML_DEFAULT_CATALOG);
|
||||||
@ -475,7 +493,7 @@ int main(int argc, char **argv) {
|
|||||||
fclose(out);
|
fclose(out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (super != NULL) {
|
if (!no_super_update && super != NULL) {
|
||||||
if (xmlCatalogIsEmpty(super)) {
|
if (xmlCatalogIsEmpty(super)) {
|
||||||
remove(XML_SGML_DEFAULT_CATALOG);
|
remove(XML_SGML_DEFAULT_CATALOG);
|
||||||
} else {
|
} else {
|
||||||
|
@ -766,7 +766,7 @@ xmlCheckUTF8(const unsigned char *utf)
|
|||||||
|
|
||||||
for (ix = 0; (c = utf[ix]);) {
|
for (ix = 0; (c = utf[ix]);) {
|
||||||
if (c & 0x80) {
|
if (c & 0x80) {
|
||||||
if ((utf[ix + 1] & 0xc0) != 0x80)
|
if ((c & 0xc0) != 0x80 || (utf[ix + 1] & 0xc0) != 0x80)
|
||||||
return(0);
|
return(0);
|
||||||
if ((c & 0xe0) == 0xe0) {
|
if ((c & 0xe0) == 0xe0) {
|
||||||
if ((utf[ix + 2] & 0xc0) != 0x80)
|
if ((utf[ix + 2] & 0xc0) != 0x80)
|
||||||
|
Reference in New Issue
Block a user