diff -Nru freemarker-2.3.23/source/src/main/java/freemarker/ext/jdom/NodeListModel.java freemarker-2.3.23/source/src/main/java/freemarker/ext/jdom/NodeListModel.java
--- freemarker-2.3.23/source/src/main/java/freemarker/ext/jdom/NodeListModel.java 2012-03-01 01:56:25.000000000 +0100
+++ freemarker-2.3.23/source/src/main/java/freemarker/ext/jdom/NodeListModel.java 2012-05-16 13:29:44.097551911 +0200
@@ -734,7 +734,7 @@
else if ("data".equals(localName))
attr = new Attribute("data", pi.getData());
else
- attr = new Attribute(localName, pi.getValue(localName));
+ attr = new Attribute(localName, pi.getPseudoAttributeValue(localName));
} else if (node instanceof DocType) {
DocType doctype = (DocType)node;
if ("publicId".equals(localName))
@@ -844,17 +844,17 @@
private static final Element getParent(Object node)
{
if (node instanceof Element)
- return((Element)node).getParent();
+ return((Element)node).getParentElement();
else if (node instanceof Attribute)
return((Attribute)node).getParent();
else if (node instanceof Text)
- return((Text)node).getParent();
+ return((Text)node).getParentElement();
else if (node instanceof ProcessingInstruction)
- return((ProcessingInstruction)node).getParent();
+ return((ProcessingInstruction)node).getParentElement();
else if (node instanceof Comment)
- return((Comment)node).getParent();
+ return((Comment)node).getParentElement();
else if (node instanceof EntityRef)
- return((EntityRef)node).getParent();
+ return((EntityRef)node).getParentElement();
else
// With 2.1 semantics it makes more sense to just return a null and let the core
// throw an InvalidReferenceException and the template writer can use ?exists etcetera. (JR)
@@ -878,7 +878,7 @@
LinkedList list = new LinkedList();
do {
list.addFirst(parent);
- parent = parent.getParent();
+ parent = parent.getParentElement();
}
while (parent != null);
return list;
@@ -894,7 +894,7 @@
list.addFirst(node);
do {
list.addFirst(parent);
- parent = parent.getParent();
+ parent = parent.getParentElement();
}
while (parent != null);
return list;
@@ -950,10 +950,10 @@
if (node instanceof Element)
doc = ((Element)node).getDocument();
else if (node instanceof Attribute) {
- Element parent = ((Attribute)node).getParent();
+ Element parent = ((Text)node).getParentElement();
doc = parent == null ? null : parent.getDocument();
} else if (node instanceof Text) {
- Element parent = ((Text)node).getParent();
+ Element parent = ((Text)node).getParentElement();
doc = parent == null ? null : parent.getDocument();
} else if (node instanceof Document)
doc = (Document)node;
diff -Nru freemarker-2.3.23/source/src/main/java/freemarker/ext/xml/_JdomNavigator.java freemarker-2.3.23/source/src/main/java/freemarker/ext/xml/_JdomNavigator.java
--- freemarker-2.3.23/source/src/main/java/freemarker/ext/xml/_JdomNavigator.java 2012-03-01 01:56:25.000000000 +0100
+++ freemarker-2.3.23/source/src/main/java/freemarker/ext/xml/_JdomNavigator.java 2012-05-16 13:32:06.328559677 +0200
@@ -169,7 +169,7 @@
result.add(new Attribute("data", pi.getData()));
}
else {
- result.add(new Attribute(localName, pi.getValue(localName)));
+ result.add(new Attribute(localName, pi.getPseudoAttributeValue(localName)));
}
} else if (node instanceof DocType) {
DocType doctype = (DocType)node;
@@ -206,22 +206,22 @@
Object getParent(Object node) {
if (node instanceof Element) {
- return((Element)node).getParent();
+ return((Element)node).getParentElement();
}
if (node instanceof Attribute) {
return((Attribute)node).getParent();
}
if (node instanceof Text) {
- return((Text)node).getParent();
+ return((Text)node).getParentElement();
}
if (node instanceof ProcessingInstruction) {
- return((ProcessingInstruction)node).getParent();
+ return((ProcessingInstruction)node).getParentElement();
}
if (node instanceof Comment) {
- return((Comment)node).getParent();
+ return((Comment)node).getParentElement();
}
if (node instanceof EntityRef) {
- return((EntityRef)node).getParent();
+ return((EntityRef)node).getParentElement();
}
return null;
}
@@ -235,7 +235,7 @@
return parent == null ? null : parent.getDocument();
}
else if (node instanceof Text) {
- Element parent = ((Text)node).getParent();
+ Element parent = ((Text)node).getParentElement();
return parent == null ? null : parent.getDocument();
}
else if (node instanceof Document)