aboutsummaryrefslogtreecommitdiff
path: root/velocity-engine-examples/src/main/resources/xml.vm
diff options
context:
space:
mode:
Diffstat (limited to 'velocity-engine-examples/src/main/resources/xml.vm')
-rw-r--r--velocity-engine-examples/src/main/resources/xml.vm42
1 files changed, 42 insertions, 0 deletions
diff --git a/velocity-engine-examples/src/main/resources/xml.vm b/velocity-engine-examples/src/main/resources/xml.vm
new file mode 100644
index 00000000..366b79b1
--- /dev/null
+++ b/velocity-engine-examples/src/main/resources/xml.vm
@@ -0,0 +1,42 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.
+#macro ( recursive $e $indent )
+#if( $e.getChildren().size() > 0 )
+$indent <$e.getName()>
+#foreach ($child in $e.getChildren() )
+#recursive( $child "$indent " )
+#end
+$indent </$e.getName()>
+#else
+$indent <$e.getName()>
+$indent $e.getTextTrim()
+$indent </$e.getName()>
+#end
+#end
+
+#set($i = " ")
+
+First, we print out the document tree with a
+recursive Velocimacro :
+
+#recursive( $root.getRootElement() $i )
+
+
+Next, we access pieces of data directly :
+
+email : $root.getRootElement().getChild("properties").getChild("author").getChild("email").getText()
+last name : $root.getRootElement().getChild("properties").getChild("author").getChild("name").getChild("last").getChild("full").getText()