[libxslt] Fix an idness generation problem
- From: Daniel Veillard <veillard src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libxslt] Fix an idness generation problem
- Date: Thu, 24 Sep 2009 12:10:35 +0000 (UTC)
commit ff6923ecd5a96f4425adb9ffaac067b941c96be8
Author: Daniel Veillard <veillard redhat com>
Date: Thu Sep 24 14:04:17 2009 +0200
Fix an idness generation problem
* libxslt/templates.c: when copying attributes coming from the
stylesheet IDness was not asserted, though with xml:id this is now
possible.
libxslt/templates.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/libxslt/templates.c b/libxslt/templates.c
index 8d26a8a..c6250dc 100644
--- a/libxslt/templates.c
+++ b/libxslt/templates.c
@@ -637,7 +637,7 @@ xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt,
last = last->next;
} else {
last = NULL;
- }
+ }
attr = attrs;
do {
/*
@@ -719,20 +719,20 @@ xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt,
copyNs = NULL;
}
copy->ns = copyNs;
-
+
/*
* Set the value.
- */
+ */
text = xmlNewText(NULL);
if (text != NULL) {
copy->last = copy->children = text;
text->parent = (xmlNodePtr) copy;
text->doc = copy->doc;
-
+
if (attr->psvi != NULL) {
/*
* Evaluate the Attribute Value Template.
- */
+ */
valueAVT = xsltEvalAVT(ctxt, attr->psvi, attr->parent);
if (valueAVT == NULL) {
/*
@@ -743,7 +743,7 @@ xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt,
xsltTransformError(ctxt, NULL, attr->parent,
"Internal error: Failed to evaluate the AVT "
"of attribute '{%s}%s'.\n",
- attr->ns->href, attr->name);
+ attr->ns->href, attr->name);
} else {
xsltTransformError(ctxt, NULL, attr->parent,
"Internal error: Failed to evaluate the AVT "
@@ -763,6 +763,9 @@ xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt,
} else {
text->content = xmlStrdup(value);
}
+ if ((copy != NULL) && (text != NULL) &&
+ (xmlIsID(copy->doc, copy->parent, copy)))
+ xmlAddID(NULL, copy->doc, text->content, copy);
}
next_attribute:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]