diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index d728f493..57af9c2e 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -1,134 +1,135 @@
-# Beware this is autogenerated by index.py
-INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include $(THREAD_CFLAGS) $(Z_CFLAGS)
-DEPS = $(top_builddir)/libxml2.la
-LDADDS = $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
+##
+## This file is auto-generated by index.py
+## DO NOT EDIT !!!
+##
+AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
+AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
+LDADD = $(RDL_LIBS) $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
+
+CLEANFILES = *.tmp
+
+if REBUILD_DOCS
rebuild: examples.xml index.html
+.PHONY: rebuild
examples.xml: index.py $(noinst_PROGRAMS:=.c)
- -@($(srcdir)/index.py)
+ cd $(srcdir) && $(PYTHON) index.py
+ $(MAKE) Makefile
index.html: examples.xml examples.xsl
- -@(xsltproc examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html)
+ cd $(srcdir) && xsltproc examples.xsl examples.xml && echo "Rebuilt web page"
+ -cd $(srcdir) && xmllint --valid --noout index.html
+endif
install-data-local:
$(MKDIR_P) $(DESTDIR)$(HTML_DIR)
-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
-EXTRA_DIST=examples.xsl index.py test2.xml tst.xml examples.xml test1.xml writer.xml test3.xml io2.res reader4.res tree2.res xpath2.res xpath1.res reader3.res reader1.res tree1.res io1.res
+clean-local:
+ test -f Makefile.am || rm -f test?.xml
-noinst_PROGRAMS=xpath1 parse3 reader2 tree2 io1 parse4 xpath2 io2 reader1 tree1 reader3 parse2 parse1 reader4 testWriter
+EXTRA_DIST = \
+ examples.xml \
+ examples.xsl \
+ index.html \
+ index.py \
+ io1.res \
+ io2.res \
+ reader1.res \
+ reader3.res \
+ reader4.res \
+ test1.xml \
+ test2.xml \
+ test3.xml \
+ tree1.res \
+ tree2.res \
+ tst.xml \
+ writer.xml \
+ xpath1.res \
+ xpath2.res
-xpath1_SOURCES=xpath1.c
-xpath1_LDFLAGS=
-xpath1_DEPENDENCIES= $(DEPS)
-xpath1_LDADD= $(RDL_LIBS) $(LDADDS)
+noinst_PROGRAMS = \
+ io1 \
+ io2 \
+ parse1 \
+ parse2 \
+ parse3 \
+ parse4 \
+ reader1 \
+ reader2 \
+ reader3 \
+ reader4 \
+ testWriter \
+ tree1 \
+ tree2 \
+ xpath1 \
+ xpath2
-parse3_SOURCES=parse3.c
-parse3_LDFLAGS=
-parse3_DEPENDENCIES= $(DEPS)
-parse3_LDADD= $(RDL_LIBS) $(LDADDS)
+io1_SOURCES = io1.c
-reader2_SOURCES=reader2.c
-reader2_LDFLAGS=
-reader2_DEPENDENCIES= $(DEPS)
-reader2_LDADD= $(RDL_LIBS) $(LDADDS)
+io2_SOURCES = io2.c
-tree2_SOURCES=tree2.c
-tree2_LDFLAGS=
-tree2_DEPENDENCIES= $(DEPS)
-tree2_LDADD= $(RDL_LIBS) $(LDADDS)
+parse1_SOURCES = parse1.c
-io1_SOURCES=io1.c
-io1_LDFLAGS=
-io1_DEPENDENCIES= $(DEPS)
-io1_LDADD= $(RDL_LIBS) $(LDADDS)
+parse2_SOURCES = parse2.c
-parse4_SOURCES=parse4.c
-parse4_LDFLAGS=
-parse4_DEPENDENCIES= $(DEPS)
-parse4_LDADD= $(RDL_LIBS) $(LDADDS)
+parse3_SOURCES = parse3.c
-xpath2_SOURCES=xpath2.c
-xpath2_LDFLAGS=
-xpath2_DEPENDENCIES= $(DEPS)
-xpath2_LDADD= $(RDL_LIBS) $(LDADDS)
+parse4_SOURCES = parse4.c
-io2_SOURCES=io2.c
-io2_LDFLAGS=
-io2_DEPENDENCIES= $(DEPS)
-io2_LDADD= $(RDL_LIBS) $(LDADDS)
+reader1_SOURCES = reader1.c
-reader1_SOURCES=reader1.c
-reader1_LDFLAGS=
-reader1_DEPENDENCIES= $(DEPS)
-reader1_LDADD= $(RDL_LIBS) $(LDADDS)
+reader2_SOURCES = reader2.c
-tree1_SOURCES=tree1.c
-tree1_LDFLAGS=
-tree1_DEPENDENCIES= $(DEPS)
-tree1_LDADD= $(RDL_LIBS) $(LDADDS)
+reader3_SOURCES = reader3.c
-reader3_SOURCES=reader3.c
-reader3_LDFLAGS=
-reader3_DEPENDENCIES= $(DEPS)
-reader3_LDADD= $(RDL_LIBS) $(LDADDS)
+reader4_SOURCES = reader4.c
-parse2_SOURCES=parse2.c
-parse2_LDFLAGS=
-parse2_DEPENDENCIES= $(DEPS)
-parse2_LDADD= $(RDL_LIBS) $(LDADDS)
+testWriter_SOURCES = testWriter.c
-parse1_SOURCES=parse1.c
-parse1_LDFLAGS=
-parse1_DEPENDENCIES= $(DEPS)
-parse1_LDADD= $(RDL_LIBS) $(LDADDS)
+tree1_SOURCES = tree1.c
-reader4_SOURCES=reader4.c
-reader4_LDFLAGS=
-reader4_DEPENDENCIES= $(DEPS)
-reader4_LDADD= $(RDL_LIBS) $(LDADDS)
+tree2_SOURCES = tree2.c
-testWriter_SOURCES=testWriter.c
-testWriter_LDFLAGS=
-testWriter_DEPENDENCIES= $(DEPS)
-testWriter_LDADD= $(RDL_LIBS) $(LDADDS)
+xpath1_SOURCES = xpath1.c
+
+xpath2_SOURCES = xpath2.c
valgrind:
$(MAKE) CHECKER='valgrind' tests
tests: $(noinst_PROGRAMS)
+ test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
@(echo '## examples regression tests')
@(echo > .memdump)
- @($(CHECKER) ./xpath1 $(srcdir)/test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp $(srcdir)/xpath1.res ; rm xpath1.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./parse3)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./reader2 $(srcdir)/test2.xml > reader1.tmp ; diff reader1.tmp $(srcdir)/reader1.res ; rm reader1.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./tree2 > tree2.tmp ; diff tree2.tmp $(srcdir)/tree2.res ; rm tree2.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./io1 > io1.tmp ; diff io1.tmp $(srcdir)/io1.res ; rm -f io1.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./parse4 $(srcdir)/test3.xml)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./xpath2 $(srcdir)/test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp $(srcdir)/xpath2.res ; rm xpath2.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./io2 > io2.tmp ; diff io2.tmp $(srcdir)/io2.res ; rm -f io2.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./reader1 $(srcdir)/test2.xml > reader1.tmp ; diff reader1.tmp $(srcdir)/reader1.res ; rm reader1.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./tree1 $(srcdir)/test2.xml > tree1.tmp ; diff tree1.tmp $(srcdir)/tree1.res ; rm tree1.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./reader3 $(srcdir)/test3.xml preserved > reader3.tmp ; diff reader3.tmp $(srcdir)/reader3.res ; rm reader3.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./parse2 $(srcdir)/test2.xml)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./parse1 $(srcdir)/test1.xml)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./reader4 $(srcdir)/test1.xml $(srcdir)/test2.xml $(srcdir)/test3.xml > reader4.tmp ; diff reader4.tmp $(srcdir)/reader4.res ; rm reader4.tmp)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
- @($(CHECKER) ./testWriter ; for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.res ; done ; rm writer*.res)
- @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-
-
+ $(CHECKER) ./io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./parse1 test1.xml
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./parse2 test2.xml
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./parse3
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./parse4 test3.xml
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+ $(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res
+ @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml
index 681e8484..28929ccb 100644
--- a/doc/examples/examples.xml
+++ b/doc/examples/examples.xml
@@ -3,7 +3,7 @@
Evaluate XPath expression and prints result node set.
Shows how to evaluate XPath expression and register known namespaces in XPath context.
xpath1 <xml-file> <xpath-expr> [<known-ns-list>]
- ./xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp
+ xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res
Aleksey Sanin
see Copyright for the status of this software.
@@ -62,7 +62,7 @@
Parse and validate an XML file with an xmlReader
Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)
reader2 <valid_xml_filename>
- reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp
+ reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
Daniel Veillard
see Copyright for the status of this software.
@@ -94,7 +94,7 @@
Creates a tree
Shows how to create document, nodes and dump it to stdout or file.
tree2 <filename> -Default output: stdout
- tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp
+ tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res
Lucas Brasilino <brasilino@recife.pe.gov.br>
see Copyright for the status of this software
@@ -122,7 +122,7 @@
Example of custom Input/Output
Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.
io1
- io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp
+ io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res
Daniel Veillard
see Copyright for the status of this software.
@@ -172,7 +172,7 @@
Load a document, locate subelements with XPath, modify said elements and save the resulting document.
Shows how to make a full round-trip from a load/edit/save
xpath2 <xml-file> <xpath-expr> <new-value>
- xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp
+ xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res
Aleksey Sanin and Daniel Veillard
see Copyright for the status of this software.
@@ -202,7 +202,7 @@
Output to char buffer
Demonstrate the use of xmlDocDumpMemory to output document to a character buffer
io2
- io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp
+ io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
John Fleck
see Copyright for the status of this software.
@@ -224,7 +224,7 @@
Parse an XML file with an xmlReader
Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)
reader1 <filename>
- reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp
+ reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
Daniel Veillard
see Copyright for the status of this software.
@@ -249,7 +249,7 @@
Navigates a tree to print element names
Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.
tree1 filename_or_URL
- tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp
+ tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res
Dodji Seketeli
see Copyright for the status of this software.
@@ -267,7 +267,7 @@
Show how to extract subdocuments with xmlReader
Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)
reader3
- reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp
+ reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res
Daniel Veillard
see Copyright for the status of this software.
@@ -324,7 +324,7 @@
Parse multiple XML files reusing an xmlReader
Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context. (Note that the XMLReader functions require libxml2 version later than 2.6.)
reader4 <filename> [ filename ... ]
- reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp
+ reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
Graham Bennett
see Copyright for the status of this software.
@@ -344,7 +344,7 @@
use various APIs for the xmlWriter
tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.
testWriter
- testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res
+ testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
Alfred Mickautsch
see Copyright for the status of this software.
diff --git a/doc/examples/index.py b/doc/examples/index.py
index 25903c38..7e0efaa2 100755
--- a/doc/examples/index.py
+++ b/doc/examples/index.py
@@ -177,10 +177,10 @@ def parse(filename, output):
type = id.get_type()
output.write(" <%s line='%d' name='%s'/>\n" % (type,
line, name))
-
+
output.write(" \n")
output.write(" \n")
-
+
return idx
def dump_symbols(output):
@@ -280,23 +280,23 @@ clean-local:
print "Updated Makefile.am"
except:
print "Failed to read or save Makefile.am"
- #
- # Autogenerate the .cvsignore too ...
- #
- ignore = """.memdump
-Makefile.in
-Makefile
-"""
- for example in examples:
- ignore = ignore + "%s\n" % (example)
- try:
- old = open(".cvsignore", "r").read()
- if old != ignore:
- n = open(".cvsignore", "w").write(ignore)
- print "Updated .cvsignore"
- except:
- print "Failed to read or save .cvsignore"
-
+# #
+# # Autogenerate the .cvsignore too ... DEPRECATED
+# #
+# ignore = """.memdump
+#Makefile.in
+#Makefile
+#"""
+# for example in examples:
+# ignore = ignore + "%s\n" % (example)
+# try:
+# old = open(".cvsignore", "r").read()
+# if old != ignore:
+# n = open(".cvsignore", "w").write(ignore)
+# print "Updated .cvsignore"
+# except:
+# print "Failed to read or save .cvsignore"
+
if __name__ == "__main__":
load_api()
output = open("examples.xml", "w")