tem o nome da Biblioteca (String), e rSiteArea (String) tem o nome da area de site (simples ou composta, com os nomes dos niveis separados por "/"). O segundo parametro (WORKFLOWSTATUS_PUBLISHED) especifica que a area de site buscada esta entre os conteudos cujo status e PUBLICADO.Entao, relembrando, o resultado da busca e um apontador (ponteiro) para uma lista de identificadores de conteudo. Nao e uma lista de nomes e nem de titulos, mas de identificadores (IDs).Por que buscar pelo PATHO caso de divisao de conteudos de um tipo por ANO e um bom exemplo. Como, por exemplo, Comunicados pode ser dividido por ano e Avisos tambem, ambos podem ter uma Area de Site de nome "2012", e preciso acessar cada um, corretamente, pelos seus caminhos:Avisos/2012Comunicados/2012Leitura do primeiro ConteudoO metodo para percorrer a lista (iterador) de um resultado de Busca e next():DocumentId docItem1 = (DocumentId)saIter1.next();Cada elemento da lista e da classe DocumentId, ou seja, um identificador do conteudo.Acessando o documento descritor da Area de SiteUma vez que temos o Id da Area de Site nas maos, vamos acessar o Documento que corresponde a Area de Site. Pode pensar neste documento como uma folha de propriedades da area de site. A area de Site TAMBEM corresponde a um item de conteudo do WCM. Sendo a Area de Site um OBJETO, ela precisa ter uma folha de propriedades, como se fosse a sua CARTEIRA DE IDENTIDADE.SiteArea saItem = (SiteArea)ws.getById(docItem1);Um outro detalhe e o "cast", ou seja, forcamos este Documento a ser reconhecido como um Documento de Area de Site.Obtendo a lista de documentos desta Area de SitePrecisamos obter, agora, a lista de conteudos (IDs) desta area de site. Esta lista corresponde, em termos de acesso, a um novo iterador (esta e a forma tipica de acesso do WCM). A instrucao para este fim e:DocumentIdIterator dit = saItem.getChildren();Aqui a sugestao da sintaxe e a mesma do modelo de objetos do HTML. E como se os itens fossem os "NOS FILHOS" da area de site.Relacionando os conteudosDe posse deste iterador, e possivel estabelecer um loop while da seguinte forma:while(dit.hasNext()) { out.println(dit.next().getName()); }O metodo getName(), aplicado ao resultado do metodo next(), fornece o nome do item de conteudo (String).Codigo Completo<%@ page language="java" contentType="text/html; charset=ISO-8859-1" %><%@page import="com.ibm.workplace.wcm.api.*, com.ibm.workplace.wcm.api.exceptions.*, java.security.Principal, java.util.*, java.io.*, javax.servlet.*" %>. 01_Lista_AreaSite_findPath.jsp <% String Biblioteca = "imprensa"; String rSiteArea = "noticias"; // 1 - Estabelece uma Workspace Workspace ws = WCM_API.getRepository().getWorkspace("usuario","senha") ; ws.setCurrentDocumentLibrary(ws.getDocumentLibrary(Biblioteca)); out.println("[01_ListaConteudo_AreaSite.jsp] Conteudos da Area de Site noticias:"); // 2 - Acha o siteArea pelo iterador (so traz um) DocumentIdIterator saIter1 = ws.findByPath(Biblioteca+"/"+rSiteArea,ws.WORKFLOWSTATUS_PUBLISHED); // 3 - Pega o primeiro ID (unico), mas numa lista DocumentId docItem1 = (DocumentId)saIter1.next(); out.println("docItem1.: "+docItem1.toString()+""); // 4 - Vai em busca do conteudo (no caso aquele cujo Id acabou de pegar) que tem este Id SiteArea saItem = (SiteArea)ws.getById(docItem1); // 5 - Pega o iterador de itens de conteudo para o qual o Id pego anteriormente aponta DocumentIdIterator dit = saItem.getChildren(); String S = null; int i = 0; while(dit.hasNext()){ out.println(dit.next().getName()); } %>