[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
> > What other ways do you do defensive programming in XSLT? > > Didn't I already mention "catch-all" templates? In fact, I don't believe one can achieve the result of using a catch-all template with xsl:assert. xsl:assert can be present only at a location when something is matched ... thus if a given match-expression is never matched, there is no way to add an xsl:assert for this "no match" Thanks, Dimitre On Fri, May 6, 2022 at 9:05 AM Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote: > > What other ways do you do defensive programming in XSLT? > > Didn't I already mention "catch-all" templates? > > Thanks, > Dimitre > > On Fri, May 6, 2022 at 7:16 AM Roger L Costello costello@xxxxxxxxx < > xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > >> 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 >> >> >> > > -- > Cheers, > Dimitre Novatchev > --------------------------------------- > Truly great madness cannot be achieved without significant intelligence. > --------------------------------------- > To invent, you need a good imagination and a pile of junk > ------------------------------------- > Never fight an inanimate object > ------------------------------------- > To avoid situations in which you might make mistakes may be the > biggest mistake of all > ------------------------------------ > Quality means doing it right when no one is looking. > ------------------------------------- > You've achieved success in your field when you don't know whether what > you're doing is work or play > ------------------------------------- > To achieve the impossible dream, try going to sleep. > ------------------------------------- > Facts do not cease to exist because they are ignored. > ------------------------------------- > Typing monkeys will write all Shakespeare's works in 200yrs.Will they > write all patents, too? :) > ------------------------------------- > Sanity is madness put to good use. > ------------------------------------- > I finally figured out the only reason to be alive is to enjoy it. > > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- To achieve the impossible dream, try going to sleep. ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :) ------------------------------------- Sanity is madness put to good use. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it.
|
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
|