Changeset 3424


Ignore:
Timestamp:
08/19/13 15:09:32 (11 years ago)
Author:
andmor
Message:

Added escape to xquery illegal characters in element values.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/access/user.dpml

    r3392 r3424  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <sequence debug="false">
     2<sequence debug="true">
    33        <sloot-debug>
    44                <request>
     
    9090                                                <literal type="xml">
    9191                                                        <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    92                                                                 version="2.0" xmlns:rest="http://basex.org/rest">
     92                                                                version="2.0" xmlns:rest="http://basex.org/rest" xmlns:sloot="http://www.isocat.org/ns/sloot">
     93                                                                <xsl:import href="active:sloot.xquery.escape"/>
    9394                                                                <xsl:param name="vararg"/>
    9495                                                                <xsl:template match="/">
    9596                                                                        <query xmlns:sc="http://www.isocat.org/ns/schemacat">
    9697                                                                                <xsl:text>let $old-user := /sc:users/*:user[@xml:id = $new-user-id or *:principal = '</xsl:text>
    97                                                                                 <xsl:value-of select="$vararg/arguments/principal"/>
     98                                                                                <xsl:value-of select="sloot:escape-xquery($vararg/arguments/principal)"/>
    9899                                                                                <xsl:text>'], $new-user := element sc:user { attribute xml:id {$new-user-id}, element sc:principal {'</xsl:text>
    99                                                                                 <xsl:value-of select="$vararg/arguments/principal"/>
     100                                                                                <xsl:value-of select="sloot:escape-xquery($vararg/arguments/principal)"/>
    100101                                                                                <xsl:text>'}, element sc:displayName {'</xsl:text>
    101                                                                                 <xsl:value-of select="$vararg/arguments/display-name"/>
     102                                                                                <xsl:value-of select="sloot:escape-xquery($vararg/arguments/display-name)"/>
    102103                                                                                <xsl:text>'}</xsl:text>
    103104                                                                                <xsl:for-each
    104105                                                                                        select="$vararg/arguments/*[name() eq 'email']">
    105106                                                                                        <xsl:text>, element sc:email {'</xsl:text>
    106                                                                                         <xsl:value-of select="."/>
     107                                                                                        <xsl:value-of select="sloot:escape-xquery(.)"/>
    107108                                                                                        <xsl:text>'}</xsl:text>
    108109                                                                                </xsl:for-each>
     
    112113                                                                                <xsl:for-each select="$vararg/arguments/*[name() eq 'role']">
    113114                                                                                        <xsl:text>, element sc:role {'</xsl:text>
    114                                                                                         <xsl:value-of select="."/>
     115                                                                                        <xsl:value-of select="sloot:escape-xquery(.)"/>
    115116                                                                                        <xsl:text>'}</xsl:text>
    116117                                                                                </xsl:for-each>
Note: See TracChangeset for help on using the changeset viewer.