Subject: Re: [xsl] Is there any benefit to creating a variable and specifying as="xs:string"? From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 9 Jun 2024 09:53:16 -0000 |
Am 09.06.2024 um 11:19 schrieb Roger L Costello costello@xxxxxxxxx:
I have this xsl:param at the top of my XSLT program:
<xsl:param name="ICAO" />
Is there any benefit to adding this "as" clause:
<xsl:param name="ICAO" as="xs:string"/>
That "as" clause says the ICAO param is a string value. Well, everything is a string. These are all strings -- '123', 'true', 'http://www.example.com', '01101' -- all of which should not be used to populate the ICAO param. It seems to me that adding the "as" clause provides zero benefits. In fact, it has disadvantages: it makes the code more verbose, it requires more typing. Do you agree that adding the "as" clause provides no benefits?
Bonus question: The value to populate the ICAO param should be a 4-letter, uppercase value, such as KBOS. Is there anyway to express that requirement/constraint in the "as" clause?
Perhaps in XSLT 4 B B as="enum('KBOS')" Of course an enumeration requires you to be able to list the possible values.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="4.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="#all" expand-text="yes">
<xsl:template match="/" name="xsl:initial-template"> <test>{$ICAO}</test> </xsl:template>
Passing params on the command line (for XSLT 4 I think you need --allowSyntaxExtensions:on) can then be done with e.g.
Type error on line 13 column 6 of param-as-enum-test3.xsl: XPTY0004 The required item type of the value of variable $ICAO is enum("KBOS"); the supplied value "KBS" does not match. In template xsl:initial-template on line 12 column 4 of param-as-enum-test3.xsl: The required item type of the value of variable $ICAO is enum("KBOS"); the supplied value "KBS" does not match.
the value is accepted. Of course for a single value you probably don't need an enum but I hope if you have a list of allowed values this helps.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Is there any benefit to c, Martin Honnen martin | Thread | Re: [xsl] Is there any benefit to c, Roger L Costello cos |
Re: [xsl] Is there any benefit to c, Martin Honnen martin | Date | Re: [xsl] Is there any benefit to c, Roger L Costello cos |
Month |