[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Defensive programming in XSLT using asserts and a
In addition to being obsessive about using @as, I tend to have fallback templates that will report unhandled elements. This approach tends to tell me when Im done handling all the cases in my input corpus. And of course the general programming practice of checking preconditions before performing business logic and putting effort into error trapping and reporting has served me well over the years. Im also starting to take more advantage of XSLT unit tests with XSpec. Cheers, Eliot _____________________________________________ Eliot Kimber Sr Staff Content Engineer O: 512 554 9368 M: 512 554 9368 servicenow.com<https://www.servicenow.com> LinkedIn<https://www.linkedin.com/company/servicenow> | Twitter<https://twitter.com/servicenow> | YouTube<https://www.youtube.com/user/servicenowinc> | Facebook<https://www.facebook.com/servicenow> From: Roger L Costello costello@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Friday, May 6, 2022 at 9:16 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: Defensive programming in XSLT using asserts and as="..." [External Email] Hi Folks, I just love the xsl:assert statement! I am going wild with it. I am peppering asserts through my XSLT program. Already I have caught a bunch of errors that would otherwise have been missed. It dawned on me that there are other mechanisms in XSLT that perform "implicit asserts": <xsl:param name="item" as="element(author)"/> is equivalent to: <xsl:param name="item"/> <xsl:assert test="name($item) eq 'author'"/> And this: <xsl:variable name="item" select="..." as="element(author)+" /> is equivalent to: <xsl:variable name="item" select="..." /> <xsl:assert test="count($item) ge 1" /> What other mechanisms are there in XSLT that effectively perform implicit asserts? What other ways do you do defensive programming in XSLT? /Roger
|
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
|