[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: what's the best way to validate input parameters t
Hey, I really like that! Although I think Ibll use $valid-args, then use a b/not($valid-args)b match. Thank you!! * Chris From: Wendell Piez wapiez@xxxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Sent: Friday, March 19, 2021 6:08 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: what's the best way to validate input parameters to a stylesheet? Hey Chris, You could pull the logic into a static variable: <xsl:variable name="doc-fails" as="xs:boolean" select="matches($from.att, '^@\w+=\w+$') and matches($to.att, '^@\w+=\w+$')"/> then <xsl:template match="/[$doc-fails]"> ... this document fails ... </xsl:template> Make the @priority explicit if you want to give a better hint. It's really factoring out the choose into a template match in the normal way. You could even do it without the variable for maximum mystery. Cheers, Wendell On Fri, Mar 19, 2021 at 5:58 PM Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx<mailto:christopher.papademetrious@syn opsys.com> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx<mailto:xsl-list-service@xxxxxxxxxxxx rytech.com>> wrote: Hello! Ibve got a stylesheet that takes two string parameters: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform<https://urldefense.com/v3/__h ttp:/www.w3.org/1999/XSL/Transform__;!!A4F2R9G_pg!MQ0PKGJ8iTMGj8nbezhr8RahBDE Lg2Lr11DA9cfXfWGlSiD8o6YQvglkeOzZWFJDzoAE_zHtMvO5XdQ$>" version="2.0"> <xsl:param name="from.att" as="xs:string"/> <xsl:param name="to.att" as="xs:string"/> Both parameters are expected to be strings in the form of @attributename=value At first I tried adding a check at the top level of the stylesheet: <xsl:if test="not(matches($from.att, '^@\w+=\w+$') and matches($to.att, '^@\w+=\w+$'))"> <xsl:message terminate="yes">Input parameters must be in the form '@attributename=value'.</xsl:message> </xsl:if> but <xsl:if> isnbt allowed at the top level of a stylesheet. So for now Ibm doing this in a bdummyb root element template that doesnbt do anything: <!-- this doesn't actually do anything other than validate our input parameters --> <xsl:template match="/" priority="20"> <xsl:choose> <xsl:when test="matches($from.att, '^@\w+=\w+$') and matches($to.att, '^@\w+=\w+$')"> <xsl:next-match/> </xsl:when> <xsl:otherwise> <xsl:message>Input parameters must be in the form '@attributename=value'.</xsl:message> <xsl:copy-of select="."/> </xsl:otherwise> </xsl:choose> </xsl:template> but I feel like therebs probably a better way. Is there? ----- Chris Papademetrious Tech Writer, Implementation Group (610) 628-9718 home office (570) 460-6078 cell XSL-List info and archive<https://urldefense.com/v3/__http:/www.mulberrytech.com/xsl/xsl-list__ ;!!A4F2R9G_pg!MQ0PKGJ8iTMGj8nbezhr8RahBDELg2Lr11DA9cfXfWGlSiD8o6YQvglkeOzZWFJ DzoAE_zHt_aVxtns$> EasyUnsubscribe<https://urldefense.com/v3/__http:/lists.mulberrytech.com/unsu b/xsl-list/174322__;!!A4F2R9G_pg!MQ0PKGJ8iTMGj8nbezhr8RahBDELg2Lr11DA9cfXfWGl SiD8o6YQvglkeOzZWFJDzoAE_zHtQNVPHFI$> (by email) -- ...Wendell Piez... ...wendell -at- nist -dot- gov... ...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org... ...github.com/wendellpiez.<https://urldefense.com/v3/__http:/github.com/wende llpiez.__;!!A4F2R9G_pg!MQ0PKGJ8iTMGj8nbezhr8RahBDELg2Lr11DA9cfXfWGlSiD8o6YQvg lkeOzZWFJDzoAE_zHt06EYrl8$>.. ...gitlab.coko.foundation/wendell... XSL-List info and archive<https://urldefense.com/v3/__http:/www.mulberrytech.com/xsl/xsl-list__ ;!!A4F2R9G_pg!MQ0PKGJ8iTMGj8nbezhr8RahBDELg2Lr11DA9cfXfWGlSiD8o6YQvglkeOzZWFJ DzoAE_zHt_aVxtns$> EasyUnsubscribe<https://urldefense.com/v3/__http:/lists.mulberrytech.com/unsu b/xsl-list/3380743__;!!A4F2R9G_pg!MQ0PKGJ8iTMGj8nbezhr8RahBDELg2Lr11DA9cfXfWG lSiD8o6YQvglkeOzZWFJDzoAE_zHtVZmkIhU$> (by email<>)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|