added a example in the regression tests for a case where the XML default
authorDaniel Veillard <veillard@src.gnome.org>
Mon, 1 Jul 2002 22:19:55 +0000 (22:19 +0000)
committerDaniel Veillard <veillard@src.gnome.org>
Mon, 1 Jul 2002 22:19:55 +0000 (22:19 +0000)
* tests/docs/Makefile.am tests/docs/bug-87.xml
  tests/general/Makefile.am tests/general/bug-87.*: added a
  example in the regression tests for a case where the XML
  default namespace was missing from the namespace axis
* xsltproc/xsltproc.c: added the informations that parameter
  strings are expected to be UTF8
* libxslt/attributes.c: fixes on attribute group implementation
Daniel

ChangeLog
libxslt/attributes.c
tests/docs/Makefile.am
tests/docs/bug-87.xml [new file with mode: 0644]
tests/general/Makefile.am
tests/general/bug-87.out [new file with mode: 0644]
tests/general/bug-87.xsl [new file with mode: 0644]
xsltproc/xsltproc.c

index 70ead5a..c9ad046 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Tue Jul  2 00:02:53 CEST 2002 Daniel Veillard <daniel@veillard.com>
+
+       * tests/docs/Makefile.am tests/docs/bug-87.xml
+         tests/general/Makefile.am tests/general/bug-87.*: added a
+         example in the regression tests for a case where the XML
+         default namespace was missing from the namespace axis
+       * xsltproc/xsltproc.c: added the informations that parameter
+         strings are expected to be UTF8
+       * libxslt/attributes.c: fixes on attribute group implementation
+
 Sat Jun 29 21:12:14 MDT 2002 John Fleck <jfleck@inkstain.net>
 
        * doc/xsltproc.xml, doc/xsltproc.html/, doc/xsltproc.1
index b1c6b75..24ef83f 100644 (file)
@@ -619,22 +619,21 @@ xsltAttributeInternal(xsltTransformContextPtr ctxt, xmlNodePtr node,
 
     if ((fromset) && (ns != NULL))
         URL = ns->href;
-    if ((fromset == 0) || (!xmlHasNsProp(ctxt->insert, name, URL))) {
-        value = xsltEvalTemplateString(ctxt, node, inst);
-        if (value == NULL) {
-            if (ns) {
-                attr = xmlSetNsProp(ctxt->insert, ns, name,
-                                    (const xmlChar *) "");
-            } else {
-                attr =
-                    xmlSetProp(ctxt->insert, name, (const xmlChar *) "");
-            }
+
+    value = xsltEvalTemplateString(ctxt, node, inst);
+    if (value == NULL) {
+        if (ns) {
+            attr = xmlSetNsProp(ctxt->insert, ns, name,
+                                (const xmlChar *) "");
         } else {
-            if (ns) {
-                attr = xmlSetNsProp(ctxt->insert, ns, name, value);
-            } else {
-                attr = xmlSetProp(ctxt->insert, name, value);
-            }
+            attr =
+                xmlSetProp(ctxt->insert, name, (const xmlChar *) "");
+        }
+    } else {
+        if (ns) {
+            attr = xmlSetNsProp(ctxt->insert, ns, name, value);
+        } else {
+            attr = xmlSetProp(ctxt->insert, name, value);
         }
     }
 
index 2f70047..1a431b4 100644 (file)
@@ -86,6 +86,7 @@ EXTRA_DIST =  \
        bug-83.xml \
        bug-84.xml \
        bug-86.xml \
+       bug-87.xml \
        character.xml \
        array.xml \
        items.xml
diff --git a/tests/docs/bug-87.xml b/tests/docs/bug-87.xml
new file mode 100644 (file)
index 0000000..7761b4b
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<XML_DATA>
+<AAA xmlns:fish="tuna"/>
+<CCC/>
+</XML_DATA>
+
index d179260..ba08ab0 100644 (file)
@@ -89,6 +89,7 @@ EXTRA_DIST = \
     bug-83.out bug-83.xsl \
     bug-84.out bug-84.xsl \
     bug-86.out bug-86.xsl \
+    bug-87.out bug-87.xsl \
     character.out character.xsl \
     character2.out character2.xsl \
     itemschoose.out itemschoose.xsl \
diff --git a/tests/general/bug-87.out b/tests/general/bug-87.out
new file mode 100644 (file)
index 0000000..b46955a
--- /dev/null
@@ -0,0 +1,5 @@
+
+AAA -  "xml"  "fish" 
+
+CCC -  "xml" 
+
diff --git a/tests/general/bug-87.xsl b/tests/general/bug-87.xsl
new file mode 100644 (file)
index 0000000..60ee8a3
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
+version="1.0">
+<xsl:output method="text"/>
+<xsl:template match="/XML_DATA//*">
+<xsl:value-of select="name()"/>
+<xsl:text> - </xsl:text>
+<xsl:for-each select="namespace::*">
+<xsl:text> &quot;</xsl:text>
+<xsl:value-of select="name()"/>
+<xsl:text>&quot; </xsl:text>
+</xsl:for-each>
+<xsl:text>
+</xsl:text>
+</xsl:template>
+</xsl:stylesheet>
index 843d4c5..72eff0e 100644 (file)
@@ -376,10 +376,10 @@ static void usage(const char *name) {
     printf("\t--docbook: the input document is SGML docbook\n");
 #endif
     printf("\t--param name value : pass a (parameter,value) pair\n");
-    printf("\t       value is an XPath expression.\n");
+    printf("\t       value is an UTF8 XPath expression.\n");
     printf("\t       string values must be quoted like \"'string'\"\n or");
     printf("\t       use stringparam to avoid it\n");
-    printf("\t--stringparam name value : pass a (parameter,string value) pair\n");
+    printf("\t--stringparam name value : pass a (parameter, UTF8 string value) pair\n");
     printf("\t--nonet refuse to fetch DTDs or entities over network\n");
 #ifdef LIBXML_CATALOG_ENABLED
     printf("\t--catalogs : use SGML catalogs from $SGML_CATALOG_FILES\n");