我希望列出一个列表,忽略任何初始明确/不定的文章'the'和'a'.例如:
我想也许在XSLT 2.0中,这可以通过以下方式实现:
<xsl:template match="/">
<xsl:for-each select="play"/>
<xsl:sort select="if (starts-with(title, 'A ')) then substring(title, 2) else
if (starts-with(title, 'The ')) then substring(title, 4) else title"/>
<p><xsl:value-of select="title"/></p>
</xsl:for-each>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
但是,我想使用浏览器内处理,因此必须使用XSLT 1.0.有没有办法在XLST 1.0中实现这一目标?
我已经尝试过
<sc:text field="Display Name" />
,
<xsl:value-of select="sc:fld('Display Name',.)"/>
并且
<xsl:value-of select="sc:field('Display Name',.)"/>
有各种不同的情况和间距.
我在网上找到的只是如何在.NET代码中检索它的例子 Sitecore.Context.Item.DisplayName
我错过了一些明显的东西吗 这困扰了我一段时间.
我想将特定元素(在本例中为父元素)的id属性复制到父元素的子元素中.
我的XML如下:
<wrapper>
<parent id="1">
<child>
content
</child>
</parent>
</wrapper>
Run Code Online (Sandbox Code Playgroud)
我需要输出如下:
<wrapper>
<parent>
<child>
<parentid>1</parentid>
content
</child>
</parent>
</wrapper>
Run Code Online (Sandbox Code Playgroud)
从下面的例子中,这个做了我想要的,除了它将新元素放在父元素中,而我想要在子元素中:
<xsl:template match="parent[@id]">
<parent>
<xsl:apply-templates select="@*[name() != 'id']" />
<parentid>
<xsl:value-of select="@id" />
</parentid>
<xsl:apply-templates select="node()"/>
</parent>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
我一直在搞乱上面但我仍然无法按照我想要的方式得到它.提前致谢.
所以我有一个像这样的xml文件:
<?xml version="1.0"?>
<class>
<students>
<name origin="English" firstname="Jeff" lastname="Richards"/>
<name origin="French" firstname="Martel" lastname="Francois"/>
</students>
<teachers>
<name origin="Spanish" firstname="Enrique" lastname="Rosa"/>
</teachers>
</class>
Run Code Online (Sandbox Code Playgroud)
并有另一个像这样的 xml 文件:
<?xml version="1.0"?>
<name origin="English" firstname="Richard" lastname="Priestly"/>
<name origin="Russian" firstname="Alexey" lastname="Romanov"/>
Run Code Online (Sandbox Code Playgroud)
使用 xslt,如何将第二个文件中的两个元素添加到第一个文件中的 student 元素中?换句话说,我如何创建一个看起来像这样的文件:
<?xml version="1.0"?>
<class>
<students>
<name origin="English" firstname="Jeff" lastname="Richards"/>
<name origin="French" firstname="Martel" lastname="Francois"/>
<name origin="English" firstname="Richard" lastname="Priestly"/>
<name origin="Russian" firstname="Alexey" lastname="Romanov"/>
</students>
<teachers>
<name origin="Spanish" firstname="Enrique" lastname="Rosa"/>
</teachers>
</class>
Run Code Online (Sandbox Code Playgroud)
如果无法使用 xslt,是否可以使用 XPath?
谢谢一堆!
我正在努力解决一个问题 - 我试图在 XSLT 中插入当前日期时间,但由于语法不正确而出错。我的 XML 文件没有日期时间,因此我需要在 XSLT 文件中插入当前日期时间(带有属性的 date="") - 请看下面:
XSLT:
<TestList>
<Header testCode="Test_3334" testId="" date="">
<xsl:attribute name="Header/date">
<xsl:value-of select="current-dateTime()"/>
</xsl:attribute>
<Validation TestName="{Header/Validation/TestName}" TestSurname="{Header/Validation/Surname}" checksum="{Header/Validation/Checksum}" />
</Header>
<Tests>
<xsl:apply-templates select="Tests/Test"/>
</Tests>
</TestList>
Run Code Online (Sandbox Code Playgroud)
有什么方法可以在 XSLT 中格式化正确的日期时间。也许我的代码是错误的。谢谢你的帮助 :)
我遇到的问题是XSLT如何将参数传递给我的PHP函数.我<xsl:value-of select="php:function('form::validate_add',@name,type,message)" />用来将属性名称,元素类型和元素消息传递给php函数,但传递的参数是大数组,包括我需要的无用信息.
XML:
<element name='text2-1'>
<type>required</type>
<message>The field Enter Text is required</message>
</element>
<element name='textarea'>
<type>required</type>
<message>The textarea is required</message>
</element>
Run Code Online (Sandbox Code Playgroud)
XSLT:
<xsl:for-each select="element">
<xsl:value-of select="php:function('form::validate_add',@name,type,message)" />
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
PHP:
public static function validate_add($name, $type, $message=NULL) {
#tmp
print_r($name);
}
Run Code Online (Sandbox Code Playgroud)
返回:
Array
(
[0] => DOMAttr Object
(
[name] => name
[specified] => 1
[value] => text2-1
[ownerElement] => (object value omitted)
[schemaTypeInfo] =>
[nodeName] => name
[nodeValue] => text2-1
[nodeType] => 2
[parentNode] => (object value omitted) …Run Code Online (Sandbox Code Playgroud) 当我运行我的PMD插件时,他们说System.out.println已经使用过了.为什么System.out.println使用不好,使用PMD插件时是否有缺陷?过来这个的替代方法是什么?
我已经创建了这个进度条,但我无法让它在最后停止。目前它在 70% 处停止并被清除。有任何想法吗?是否有任何类型的动画设置可以将其停止在 100%?
.wrap {
background-color: #f2f2f2;
height: 10px;
width: 400px;
margin: 0 auto;
position: relative;
top: 20px;
margin-bottom: 20px;
}
.bar {
background: #ffcc00;
height: 10px;
width: 0%;
}
.animating {
-webkit-animation: progress 3s ;
}
@-webkit-keyframes progress {
0% {
width: 0%;
}
100% {
width: 70%;
}
}Run Code Online (Sandbox Code Playgroud)
<div class="wrap">
<div class="bar animating"></div>
</div>Run Code Online (Sandbox Code Playgroud)
我收到一个包含数字的字符串,
例如:- 123312351863
哪个是分隔每个数字并将它们加在一起的最佳方法?
例如总数 38