added additional check to prevent superfluous namespace href's being
authorWilliam M. Brack <wbrack@src.gnome.org>
Fri, 12 Mar 2004 05:03:50 +0000 (05:03 +0000)
committerWilliam M. Brack <wbrack@src.gnome.org>
Fri, 12 Mar 2004 05:03:50 +0000 (05:03 +0000)
* libxslt/namespaces.c: added additional check to prevent
  superfluous namespace href's being generated on elements
  (bug 136914)
* tests/namespaces/Makefile.am, tests/namespaces/tst5.x[ms]l:
  added new test for bug 136914
* tests/namespaces, tests/extensions/ tests/reports: fixed
  error in "enhanced" Makefile.am, removed superfluous .err files
  from cvs

ChangeLog
libxslt/namespaces.c
tests/extensions/Makefile.am
tests/namespaces/Makefile.am
tests/namespaces/extra.err [deleted file]
tests/namespaces/tst.err [deleted file]
tests/namespaces/tst2.err [deleted file]
tests/namespaces/tst3.err [deleted file]
tests/namespaces/tst4.err [deleted file]
tests/reports/Makefile.am
tests/reports/cmdlineparams.err [deleted file]

index dee9d6d..724b97d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Fri Mar 12 13:07:03 HKT 2004 William Brack <wbrack@mmm.com.hk>
+
+       * libxslt/namespaces.c: added additional check to prevent
+         superfluous namespace href's being generated on elements
+         (bug 136914)
+       * tests/namespaces/Makefile.am, tests/namespaces/tst5.x[ms]l:
+         added new test for bug 136914
+       * tests/namespaces, tests/extensions/ tests/reports: fixed
+         error in "enhanced" Makefile.am, removed superfluous .err files
+         from cvs
+
 Wed Mar 10 19:27:39 HKT 2004 William Brack <wbrack@mmm.com.hk>
 
        * doc/search.php.incl: minor addition for later version of php
index 8b45992..1650ff9 100644 (file)
@@ -157,7 +157,7 @@ xsltGetSpecialNamespace(xsltTransformContextPtr ctxt, xmlNodePtr cur,
        (out->parent->ns != NULL) &&
        (xmlStrEqual(out->parent->ns->href, URI)))
        ret = out->parent->ns;
-    else
+    else 
        ret = xmlSearchNsByHref(out->doc, out, URI);
 
     if ((ret == NULL) || (ret->prefix == NULL)) {
@@ -167,6 +167,11 @@ xsltGetSpecialNamespace(xsltTransformContextPtr ctxt, xmlNodePtr cur,
                ret = xmlSearchNs(out->doc, out, (xmlChar *)nprefix);
            } while (ret != NULL);
            prefix = (const xmlChar *) &nprefix[0];
+       } else if ((ret != NULL) && (ret->prefix == NULL)) {
+           /* found ns but no prefix - search for the prefix */
+           ret = xmlSearchNs(out->doc, out, prefix);
+           if (ret != NULL)
+               return(ret);    /* found it */
        }
        if (out->type == XML_ELEMENT_NODE)
            ret = xmlNewNs(out, URI, prefix);
index c2b9f54..31cfe67 100644 (file)
@@ -17,10 +17,10 @@ valgrind:
 test tests: $(top_builddir)/xsltproc/xsltproc
        @echo '## Running extensions tests'
        @(echo > .memdump)
-       -@(for i in $(srcdir)/../docs/*.xml ; do \
+       -@(for i in $(srcdir)/*.xml ; do \
          if [ -d $$i ] ; then continue ; fi ; \
          doc=`basename $$i .xml` ; \
-         for j in $(srcdir)/$$doc*.xsl ; do \
+         j=$(srcdir)/$$doc*.xsl ; \
          if [ ! -f $$j ] ; then continue ; fi ; \
          if [ -d $$j ] ; then continue ; fi ; \
          name=`basename $$j .xsl`; \
@@ -47,5 +47,5 @@ test tests: $(top_builddir)/xsltproc/xsltproc
                echo $$log ; \
          fi ; \
          rm -f result.$$name err.$$name; \
-         done ; done)
+         done)
 
index ee748dc..2d76ec6 100644 (file)
@@ -4,11 +4,13 @@ $(top_builddir)/xsltproc/xsltproc:
        @(cd ../../xsltproc ; $(MAKE) xsltproc)
 
 EXTRA_DIST = \
+    extra.xml extra.xsl extra.out \
+    extra2.xml extra2.xsl extra2.out \
     tst.xml tst.xsl tst.out \
     tst2.xml tst2.xsl tst2.out \
     tst3.xml tst3.xsl tst3.out \
-    extra.out extra.xml extra.xsl \
-    extra2.out extra2.xml extra2.xsl
+    tst4.xml tst4.xsl tst4.out \
+    tst5.xml tst5.xsl tst5.out
 
 all:
 
@@ -19,10 +21,10 @@ valgrind:
 test tests: $(top_builddir)/xsltproc/xsltproc
        @echo '## Running namespaces tests'
        @(echo > .memdump)
-       -@(for i in $(srcdir)/../docs/*.xml ; do \
+       -@(for i in $(srcdir)/*.xml ; do \
          if [ -d $$i ] ; then continue ; fi ; \
          doc=`basename $$i .xml` ; \
-         for j in $(srcdir)/$$doc*.xsl ; do \
+         j=$(srcdir)/$$doc.xsl ; \
          if [ ! -f $$j ] ; then continue ; fi ; \
          if [ -d $$j ] ; then continue ; fi ; \
          name=`basename $$j .xsl`; \
@@ -49,5 +51,5 @@ test tests: $(top_builddir)/xsltproc/xsltproc
                echo $$log ; \
          fi ; \
          rm -f result.$$name err.$$name; \
-         done ; done)
+         done)
 
diff --git a/tests/namespaces/extra.err b/tests/namespaces/extra.err
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/namespaces/tst.err b/tests/namespaces/tst.err
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/namespaces/tst2.err b/tests/namespaces/tst2.err
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/namespaces/tst3.err b/tests/namespaces/tst3.err
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/namespaces/tst4.err b/tests/namespaces/tst4.err
deleted file mode 100644 (file)
index e69de29..0000000
index 3c5e541..14bb655 100644 (file)
@@ -4,11 +4,10 @@ $(top_builddir)/xsltproc/xsltproc:
        @(cd ../../xsltproc ; $(MAKE) xsltproc)
 
 EXTRA_DIST = \
+       cmdlineparams.xml cmdlineparams.xsl cmdlineparams.out \
        tst-1.xml tst-1.xsl tst-1.out tst-1.err \
        tst-2.xml tst-2.xsl tst-2.out tst-2.err \
        undefvar.xml undefvar.xsl undefvar.out undefvar.err \
-       cmdlineparams.xml cmdlineparams.xsl cmdlineparams.out \
-       cmdlineparams.err \
        recglobparam.xsl recglobvar.xsl reclocparam.xsl reclocvar.xsl \
        recglobparam.xml recglobvar.xml reclocparam.xml reclocvar.xml 
 
diff --git a/tests/reports/cmdlineparams.err b/tests/reports/cmdlineparams.err
deleted file mode 100644 (file)
index e69de29..0000000