Доступ к дереву DOM на основе Java напрямую из JSF / richfaces

На основеэтот вопрос У меня есть пара других вопросов:

1) карта в этом вопросе, которая сделана доступной для jsf, на самом деле является одной из чисел, так что я сейчас не уверен, каким должен быть тип возвращаемого метода бина. если я изменю это текущееArray<String> тип возвратаArray<Map Integer, Map<String, String[]>>> (или жеArrayList<Map Integer, Map<String, String[]>>> ?) это был бы просто случай дальнейшего вложения итератора на стороне jsf? Проблема в том, что Array / ArrayList не является картой, и я не уверен, как это выглядит в jsf. будет ли это правильно:

<c:forEach items="#{bean.map}" var="entry">                     <!-- array -->
  <c:forEach items="#{entry.value}" var="nentry">               <!-- map -->
    <h:outputText value="Key: #{nentry.key}, Values:" />        <!-- integer -->
    <c:forEach items="#{nentry.value}" var="nnentry">           <!-- sub map -->
      <h:outputText value="Key: #{nnentry.key}, Values:" />     <!-- string -->
      <c:forEach items="#{nnentry.value}" var="nnnentry">       <!-- string[] -->
        <h:outputText value="#{nnnentry}" />
      </c:forEach><br />
    </c:forEach><br />
  </c:forEach><br />
</c:forEach>

?

2) то, что я действительно храню на этой карте, это xpath рипы из дерева DOM XML, проанализированного на стороне java. теперь я думаю, что могу получить доступ к этому дереву DOM на основе Java из JSF напрямую, без необходимости использовать XPath -> ArrayOfMaps и вернуть его. В XML-файле, который выглядит примерно так, есть ли лучший способ, чем использовать вышеуказанный метод ?:

 <test>                                              
  <testid>1</testid>                          
  <testname>myName</testname>

  <inst>                                      
   <id>1</id>                  
   <src>C:\my\path</src>               
   <mask>.*\.\w{3}</mask>      
   <mask>.*\.x</mask>          
  </inst>

  <inst>                                      
   <id>2</id>                  
   <src>C:\my\otherpath</src>               
   <mask>.*\.\w{3}</mask>      
   <mask>.*\.x</mask>          
  </inst>
</test>

Еще раз спасибо Марк

Ответы на вопрос(2)

Ваш ответ на вопрос