On 04.06.2004 17:54, Simeon Walker wrote:

Hi,

Whilst look for something to access request.isUserInRole I found the RoleFilterTransformer. It does not seem to be mentioned anywhere other than the Cocoon java api docs.

Yeah, some features are treated really stepmotherly.

I have setup the transform acting on the output of SQL Transformer which produces a list of all possible role in our system. Here's a bit of the sitemap:

<map:match pattern="roles.xml">
 <map:generate src="cocoon://database/auth/ldap-roles.xml"/>
 <map:transform src="roles.xsl"/>
 <map:transform type="role-filter">
   <map:parameter name="element-name" value="dummy"/>
   <map:parameter name="count" value="100"/>
 </map:transform>
 <map:serialize type="xml"/>
</map:match>

The roles.xsl filter does the following to an SQL Tranformer rowset:

<xsl:template match="sql:rowset">
 <table>
   <xsl:for-each select="sql:row">
     <row roles:read-only="{sql:role_name}">
       <entry><xsl:value-of select="sql:role_name"/></entry>
     </row>
   </xsl:for-each>
 </table>
</xsl:template>

How does the XML output of the cocoon://database/auth/ldap-roles.xml pipeline look like?


But this gives and odd result. The rows for the rows I possess have an attribute roles:read-only="" and rows for the roles I don't possess are passed through untouched! Surely this is not what's meant to happen?

Can you be a bit more clear on this section?

If I try to use roles:restricted in the xsl above then I get a
java.util.EmptyStackException

Just by switching from roles:read-only to roles:restricted? Sounds crazy and such crazy things point often to the endorsed libs problem:
http://wiki.cocoondev.org/Wiki.jsp?page=EndorsedLibsProblem
Make sure you are using the version of Xalan you expect as described at http://xml.apache.org/xalan-j/faq.html#environmentcheck.


Joerg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to