Schematron阶段名称的名称可以绑定到全局变量或参数吗?

时间:2019-06-03 08:14:39

标签: xslt schematron

我想在Schematron + XSLT项目中更改一个会影响验证深度的关键参数,最方便的方法是将Schematron阶段的名称绑定到全局变量(或Schematron文件中的)

我有一个解决方法,其中将Schematron绑定到定义一个特定对象的对应对象,并且可以使用,但是这意味着每个阶段都必须更改唯一参数名称的变量,因为在其中包含不合法同一文件(变量)具有多个s的单个文件。

   <phase id="terse">
      <active pattern="core-tests"/>
      <active pattern="terse-true"/>
   </phase>
   <phase id="verbose">
      <active pattern="core-tests"/>
      <active pattern="verbose-true"/>
   </phase>
   <pattern id="terse-true">
      <xsl:param name="validation-is-terse" select="true()"/>
   </pattern>
   <pattern id="verbose-true">
      <xsl:param name="validation-is-verbose" select="true()"/>
   </pattern>

我更喜欢这样写:

   <xsl:param name="validation-depth" select="{$phase}"/>
   <phase id="terse">
      <active pattern="core-tests"/>
   </phase>
   <phase id="verbose">
      <active pattern="core-tests"/>
   </phase>

0 个答案:

没有答案