<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic XML parser templateObject. in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234748#M187878</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there a templateObject method to parse an xml String into Freemarker NodeModel?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I not find it in the code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Then i'm going to extend templateObjects, but i don't like override webscripts.abstractcontainer Spring bean only for add a new method.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;By the way, can i extend TemplateObjects o scriptObjects without override webscripts.abstractcontainer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 11 Jun 2009 16:14:03 GMT</pubDate>
    <dc:creator>rmorant</dc:creator>
    <dc:date>2009-06-11T16:14:03Z</dc:date>
    <item>
      <title>XML parser templateObject.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234748#M187878</link>
      <description>Hi,Is there a templateObject method to parse an xml String into Freemarker NodeModel?I not find it in the code.Then i'm going to extend templateObjects, but i don't like override webscripts.abstractcontainer Spring bean only for add a new method.By the way, can i extend TemplateObjects o scriptObjec</description>
      <pubDate>Thu, 11 Jun 2009 16:14:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234748#M187878</guid>
      <dc:creator>rmorant</dc:creator>
      <dc:date>2009-06-11T16:14:03Z</dc:date>
    </item>
    <item>
      <title>Re: XML parser templateObject.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234749#M187879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes, there is an XML parser to read each XML elements and attributes values, you can see more details here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://wiki.alfresco.com/wiki/FreeMarker_Template_Cookbook#XML_Document_Example" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/FreeMarker_Template_Cookbook#XML_Document_Example&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jun 2009 08:18:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234749#M187879</guid>
      <dc:creator>openpj</dc:creator>
      <dc:date>2009-06-12T08:18:16Z</dc:date>
    </item>
    <item>
      <title>Re: XML parser templateObject.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234750#M187880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;OK,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;No more questions, a bit of code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The implementation method:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;public class FreeMarkerXmlParser implements TemplateMethodModel {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public TemplateModel exec(List args) throws TemplateModelException {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (args.size() != 1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new TemplateModelException("Wrong arguments");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return parseXml((String)args.get(0));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public NodeModel parseXml(String textData) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NodeModel docData = null;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;docData = freemarker.ext.dom.NodeModel.parse(new InputSource(new StringReader((String) textData)));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SAXException e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (ParserConfigurationException e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (IOException e) {}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return docData;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;The application context:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;…&lt;BR /&gt;&amp;lt;bean abstract="true" id="webscripts.abstractcontainer"&amp;gt;&lt;BR /&gt;&amp;nbsp; …&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="templateObjects"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;map&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!– method to parse an xml String into Freemarker NodeModel –&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;entry key="parseXml"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean class="com.albasoft.alfresco.utils.FreeMarkerXmlParser" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entry&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Then the template example.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;…&lt;BR /&gt;&amp;nbsp; &amp;lt;#assign doc = parseXml(response) /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#list doc.items.item as item&amp;gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tr&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#list dao.fieldNames as f&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;td&amp;gt;${item[f]!""}&amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/#list&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/#list&amp;gt;&lt;BR /&gt;…&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;where response is an xml String (like):&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;items&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;item&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;id&amp;gt;&amp;lt;/id&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;phone&amp;gt;&amp;lt;/phone&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;/item&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;item&amp;gt;…&lt;BR /&gt;&amp;lt;/items&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Any way, i wonder why there is not a root template object like this. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;or, is there?, because i prefer use the original and not override abstract container bean.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jun 2009 08:47:57 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234750#M187880</guid>
      <dc:creator>rmorant</dc:creator>
      <dc:date>2009-06-12T08:47:57Z</dc:date>
    </item>
    <item>
      <title>Re: XML parser templateObject.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234751#M187881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Yes, there is an XML parser to read each XML elements and attributes values, you can see more details here:&lt;BR /&gt;&lt;A href="http://wiki.alfresco.com/wiki/FreeMarker_Template_Cookbook#XML_Document_Example" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/FreeMarker_Template_Cookbook#XML_Document_Example&lt;/A&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi OpenPj, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you, i know this but this parses the document root object (isn't it?), and i need parse any string , for example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;#assign doc = parseXml(args['myDoc']) /&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you again.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jun 2009 09:09:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234751#M187881</guid>
      <dc:creator>rmorant</dc:creator>
      <dc:date>2009-06-12T09:09:23Z</dc:date>
    </item>
    <item>
      <title>Re: XML parser templateObject.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234752#M187882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I think that all you can you do with this object as documented as well here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://freemarker.org/docs/xgui_imperative_learn.html" rel="nofollow noopener noreferrer"&gt;http://freemarker.org/docs/xgui_imperative_learn.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jun 2009 09:18:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/xml-parser-templateobject/m-p/234752#M187882</guid>
      <dc:creator>openpj</dc:creator>
      <dc:date>2009-06-12T09:18:51Z</dc:date>
    </item>
  </channel>
</rss>

