我在节点中有一个字符串,我想将字符串拆分为'?' 并返回数组中的最后一项.
例如,在下面的块中:
<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)
更新: …
我想从一些XML文件中获取数据并将它们转换为新的XML文档.但是,我不希望在结果文档中发生XSLT中的命名空间定义.
换一种说法:
资源:
<Namespace:Root xmlns:Namespace="http://www.something.com">
Run Code Online (Sandbox Code Playgroud)
样式表:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:Namespace="http://www.something.com">
Run Code Online (Sandbox Code Playgroud)
结果:
<resultRoot xmlns:Namespace="http://www.something.com">
<!--I don't want the Namespace definition above-->
Run Code Online (Sandbox Code Playgroud)
我正在使用msxsl进行转换.
我想从我的XML文件中获取一个节点,该节点有一个前缀,例如"latest_",但这可能会改变,我希望我的XSLT尽可能流畅.这是我想要使用的XPath:
/data/stats/*_cost
Run Code Online (Sandbox Code Playgroud)
这应该与latest_cost,newest_cost,anything_cost,有没有这样做的一种方式?
干杯:-)
XSLT和XSL-FO有什么区别?
我读过的每一个资源都像处理它们一样处理它们,或者至少非常紧密地绑定它们.
我想使用Python创建一个Word文档,但是,我希望尽可能多地重用现有的文档创建代码.我目前正在使用XSLT生成HTML文件,我以编程方式将其转换为PDF文件.但是,我的客户现在要求以Word(.doc)格式提供相同的文档.
到目前为止,我没有太多运气找到解决这个问题的方法.是否有人知道可能有助于解决此问题的开源库(或*gulp*专有解决方案)?
注意:所有可能的解决方案必须在Linux上运行.我相信这消除了pywin32.
我正在尝试使用XSLT将一些XML转换为HTML.
问题:
我无法让它发挥作用.有人能告诉我我做错了什么吗?
XML:
<ArrayOfBrokerage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.test.com/">
<Brokerage>
<BrokerageID>91</BrokerageID>
<LastYodleeUpdate>0001-01-01T00:00:00</LastYodleeUpdate>
<Name>E*TRADE</Name>
<Validation i:nil="true" />
<Username>PersonalTradingTesting</Username>
</Brokerage>
</ArrayOfBrokerage>
Run Code Online (Sandbox Code Playgroud)
XSLT:
<xsl:stylesheet version="1.0" xmlns="http://www.test.com/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xslFormatting="urn:xslFormatting">
<xsl:output method="html" indent="no"/>
<xsl:template match="/ArrayOfBrokerage">
<xsl:for-each select="Brokerage">
Test
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud) 我写XSL,我想整个时,它的处理,如PHP将被剥离的代码进行评论,但是我不知道怎么样.
我知道评论对象,但它在处理时打印出HTML注释.:\
<xsl:comment>comment</xsl:comment>
Run Code Online (Sandbox Code Playgroud) 我正在尝试调试XSLT文件,我已经运行Visual Studio调试器并提示输入文件.不幸的是,当我再次调试文件时,之前加载了相同的测试文件.
如何更改XSLT调试器的输入文件?我已经做了一些搜索,但是所有的帮助材料都假设这是你第一次运行调试器.
例子在
http://en.wikipedia.org/wiki/XSLT
要么
http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog
似乎是独立的XML和XSLT文件.他们不必联系吗?或者你以某种方式把它们放在同一个文件中?否则,一个文件如何知道如何从另一个文件中吸取数据?
我正试图从其ASIN获取亚马逊产品的细节.产品API允许使用Itemlookup ASIN,但返回值为XML.
我想从客户端调用Itemlookup,所以想做一个JSONP我找不到的电话.
我在网上发现了一些文章,JSON使用XSLT样式表将XML转换为格式:
(a)https://bitbucket.org/basti/python-amazon-product-api/src/tip/examples/json-results.py
我尝试使用这个python-amazon-product-api和这个例子,但我无法得到JSON回报.
(b)http://www.kokogiak.com/gedankengang/2006/05/consuming-amazons-web-api-directly.html
我试图发送的请求是:
http://xml-us.amznxslt.com/onca/xml?AWSAccessKeyId=[ACCESS KEY]&AssociateTag=[ASSOCIATE TAG]&ContentType=text%2Fjavascript&IdType=ASIN&ItemId=B008IEGS9W&Operation=ItemLookup&ResponseGroup=Images%2CItemAttributes&Service=AWSECommerceService&Style=http%3A%2F%2Fforums.delphiforums.com%2Fdelphidocsz%2Famazon%2Fjson.xsl&Timestamp=2012-09-04T06%3A40%3A11Z&Signature=AGOqXvVSeMp3YyVkT4mGNXVx0cFGG%2Bh%2FdAebevbbF9o%3D
Run Code Online (Sandbox Code Playgroud)
请帮助获取JSON格式Amazon product API.欢迎任何建议.
OP可以运行此样式表(未使用输入文档)来确定其XSLT版本.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="xsl msxsl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head><title>About your XSLT Processor</title></head>
<body>
<ul>
<li>xsl:version=<xsl:value-of select="system-property('xsl:version')" /></li>
<li>xsl:vendor=<xsl:value-of select="system-property('xsl:vendor')" /></li>
<li>xsl:vendor-url=<xsl:value-of select="system-property('xsl:vendor-url')" /></li>
<li>xsl:product-name=<xsl:value-of select="system-property('xsl:product-name')" /></li>
<li>xsl:product-version=<xsl:value-of select="system-property('xsl:product-version')" /></li>
<li>xsl:is-schema-aware=<xsl:value-of select="system-property('xsl:is-schema-aware')" /></li>
<li>xsl:supports-serialization=<xsl:value-of select="system-property('xsl:supports-serialization')" /></li>
<li>xsl:supports-backwards-compatibility=<xsl:value-of select="system-property('xsl:supports-backwards-compatibility')" /></li>
<li>msxsl:version=<xsl:value-of select="system-property('msxsl:version')" /></li>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)