相关疑难解决方法(0)

XSLT是否具有Split()函数?

我在节点中有一个字符串,我想将字符串拆分为'?' 并返回数组中的最后一项.

例如,在下面的块中:

<a>
    <xsl:attribute name="href">
        /newpage.aspx?<xsl:value-of select="someNode"/>
    </xsl:attribute>
    Link text
</a>
Run Code Online (Sandbox Code Playgroud)

我想分割someNode价值.

编辑:这是我用来为我的Asp.Net页面加载Xsl的VB.Net:

Dim xslDocPath As String = HttpContext.Current.Server.MapPath("~/App_Data/someXslt.xsl")
Dim myXsltSettings As New XsltSettings()
Dim myXMLResolver As New XmlUrlResolver()

myXsltSettings.EnableScript = True
myXsltSettings.EnableDocumentFunction = True

myXslDoc = New XslCompiledTransform(False)
myXslDoc.Load(xslDocPath, myXsltSettings, myXMLResolver)

Dim myStringBuilder As New StringBuilder()
Dim myXmlWriter As XmlWriter = Nothing

Dim myXmlWriterSettings As New XmlWriterSettings()
myXmlWriterSettings.ConformanceLevel = ConformanceLevel.Auto
myXmlWriterSettings.Indent = True
myXmlWriterSettings.OmitXmlDeclaration = True

myXmlWriter = XmlWriter.Create(myStringBuilder, myXmlWriterSettings)

myXslDoc.Transform(xmlDoc, argumentList, myXmlWriter)

Return myStringBuilder.ToString()
Run Code Online (Sandbox Code Playgroud)

更新: …

.net xml vb.net xslt split

43
推荐指数
4
解决办法
6万
查看次数

使用XSLT 1.0进行标记和排序

我有一个分隔的字符串(在我下面的例子中用空格分隔),我需要对它进行标记,排序,然后重新连接在一起,我需要使用XSLT 1.0完成所有这些操作.我该怎么办?我知道我需要以xsl:sort某种方式使用,但到目前为止我所尝试的一切都给了我一些错误.

例如,如果我在此帖子的底部运行代码,我会得到:

草莓蓝莓橙色覆盆子石灰柠檬

如果我想要这样做,我该怎么办?:

蓝莓柠檬石灰橙色覆盆子草莓

请注意,我正在使用XSLT 1.0.

这是代码,它基于Jeni Tennison的代码.

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="tokenize1.xsl"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <xsl:call-template name="tokenize">
    <xsl:with-param name="string" select="'strawberry blueberry orange raspberry lime lemon'" />
  </xsl:call-template>
</xsl:template>

<xsl:template name="tokenize">
  <xsl:param name="string" />
  <xsl:param name="delimiter" select="' '" />
  <xsl:choose>
    <xsl:when test="$delimiter and contains($string, $delimiter)">
      <token>
        <xsl:value-of select="substring-before($string, $delimiter)" />
      </token>
      <xsl:text> </xsl:text>
      <xsl:call-template name="tokenize">
        <xsl:with-param name="string" 
                        select="substring-after($string, $delimiter)" />
        <xsl:with-param name="delimiter" select="$delimiter" />
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <token><xsl:value-of select="$string" /></token>
      <xsl:text> </xsl:text> …
Run Code Online (Sandbox Code Playgroud)

sorting xslt tokenize xslt-1.0

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

xslt ×2

.net ×1

sorting ×1

split ×1

tokenize ×1

vb.net ×1

xml ×1

xslt-1.0 ×1