我想输出一段html代码.但我需要它是漂亮的印刷/缩进.没有使用<xsl:text>
</xsl:text>和有没有办法做到这一点<xsl:text>	</xsl:text>?
我使用了以下行没有任何结果.
<xsl:output method="html" indent="yes"/>
Run Code Online (Sandbox Code Playgroud)
Follwoing是c#代码;
XslCompiledTransform XSLT = new XslCompiledTransform();
XSLT.Load(xslPath);
using (XmlTextWriter writer = new XmlTextWriter(writePath, null))
{
if (isTopLevel)
{
XSLT.Transform(XMLDocumentForCurrentUser, writer);
}
else
{
XsltArgumentList xslArg = new XsltArgumentList();
xslArg.AddParam("MenuIndex", "", menuIndex);
XSLT.Transform(XMLDocumentForCurrentUser, xslArg, writer);
}
}
// I write the output to file
//All this works fine, only now I need the HTML to be readable (in the browser's view source or any notepad)
Run Code Online (Sandbox Code Playgroud)
有没有人知道格式化(至少缩进)XSLT输出的方法?
我做过研究,但是在操作属性时我只找到了解决方案.
我最近开始研究XSL.我想用它来将我的xml文件转换为html文件.我想要提取的数据应该显示有多少节点具有特定值.
XML具有以下结构:
<Tests>
<Test>
<TestName> a </TestName>
<Date> 12.11.10 </Date>
<Result> Fail </Result>
</Test>
<Test>
<TestName> b </TestName>
<Date> 13.11.10 </Date>
<Result> Fail </Result>
</Test>
<Test>
<TestName> c </TestName>
<Date> 14.11.10 </Date>
<Result> Pass </Result>
</Test>
</Tests>
Run Code Online (Sandbox Code Playgroud)
我想要的是:2(失败次数)1(通过次数)
任何人都可以帮我完成这个任务吗?
我正在尝试编写一个XPath,它将选择包含特定单词的某些节点.在这种情况下,这个词是"洛克伍德".正确的答案是3.这两条路径都给了我3个.
count(//*[contains(./*,'Lockwood')])
count(BusinessLetter/*[contains(../*,'Lockwood')])
Run Code Online (Sandbox Code Playgroud)
但是当我尝试输出每个特定节点的文本时
//*[contains(./*,'Lockwood')][1]
//*[contains(./*,'Lockwood')][2]
//*[contains(./*,'Lockwood')][3]
Run Code Online (Sandbox Code Playgroud)
节点1最终包含所有文本,节点2和3为空白.
有人可以告诉我发生了什么或我做错了什么.
谢谢.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="XPathFunctions.xsl"?>
<BusinessLetter>
<Head>
<SendDate>November 29, 2005</SendDate>
<Recipient>
<Name Title="Mr.">
<FirstName>Joshua</FirstName>
<LastName>Lockwood</LastName>
</Name>
<Company>Lockwood & Lockwood</Company>
<Address>
<Street>291 Broadway Ave.</Street>
<City>New York</City>
<State>NY</State>
<Zip>10007</Zip>
<Country>United States</Country>
</Address>
</Recipient>
</Head>
<Body>
<List>
<Heading>Along with this letter, I have enclosed the following items:</Heading>
<ListItem>two original, execution copies of the Webucator Master Services Agreement</ListItem>
<ListItem>two original, execution copies of the Webucator Premier Support for Developers Services Description between Lockwood …Run Code Online (Sandbox Code Playgroud) net.sf.saxon.TransformerFactoryImpl对多个 XML 文件进行一些转换。我想要做的(但不知道是否可行)是将一个变量传递给包含 XML 文件所在目录路径的样式表。我想从我的 Java 代码传递该变量。
<xsl:for-each
select="for $x in(collection('MYVAR?select=*.xml;recurse=yes'))
return saxon:discard-document($x)//testsuites">
Run Code Online (Sandbox Code Playgroud) 我的XML里面有一些html内容.以前我可以<xsl:copy-of select="customFields/customField[@name='mainContent']/html"/>用来将内容拉到正确的区域.一个新的要求是将<tr>每个表中的第一个转换<tbody>为一组thead/tr/th.
我对如何转换感到困惑,事实上甚至没有在哪里开始:
...
<customField name="mainContent" type="Html">
<html>
<h1>Page Heading</h1>
<p>Gusto te minim tempor elit quam. Dolore vel accumsan parum option me. Demonstraverunt congue nisl soluta tincidunt seacula. Soluta saepius demonstraverunt praesent claritatem mutationem. Modo te ullamcorper vel augue veniam. Nunc investigationes dolor iriure typi in.</p>
<p>Gusto te minim tempor elit quam. Dolore vel accumsan parum option me. Demonstraverunt congue nisl soluta tincidunt seacula. Soluta saepius demonstraverunt praesent claritatem mutationem. Modo te …Run Code Online (Sandbox Code Playgroud) 该函数normalize-space删除前导和尾随空格,并用单个空格替换空白字符序列.我怎么能只在XSLT 1.0单个空格替换一系列空白字符?例如"..x.y...\n\t..z."(为了便于阅读,用点替换的空格)应该成为".x.y.z.".
我试图从XML文档及其子代中提取多个元素,但我无法在任何地方找到有用的示例... MSDN非常模糊.这是.Net中的c#
我已经动态创建了这个XML并将其转换为字符串.我一直在尝试使用带有NodeList的XmlNode来遍历foreach部分中的每个文件,但它无法正常工作.
这是一些示例XML:
<searchdoc>
<results>
<result no = "1">
<url>a.com</url>
<lastmodified>1/1/1</lastmodified>
<description>desc1</description>
<title>title1</title>
</result>
<result no = "2">
<url>b.com</url>
<lastmodified>2/2/2/</lastmodified>
<description>desc2</description>
<title>title2</title>
</result>
</results>
</searchdoc>
Run Code Online (Sandbox Code Playgroud)
我需要拉出每条完整的路径 <result>
我正在尝试模拟单击一个基本链接,该链接看起来像这样,没有 id 或 class。
<a href="http://www.myebsite.com/service/playnow">Click to Start</a>
Run Code Online (Sandbox Code Playgroud)
我有以下代码,但是当我将页面加载到不执行单击操作时。我究竟做错了什么?
var a = document.evaluate( '//a[contains(@href, "playnow")]' ,document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );
if(a){
a.click();
}
Run Code Online (Sandbox Code Playgroud) 我有一个很大的第三方xsd文件,它通过导入引入了一大堆其他xsd文件。整个过程产生了1000多个类。当我告诉xjc(jaxb)处理器在特定程序包中生成所有内容时,我会遇到各种命名冲突。如果我未指定包,则处理器使用xsd文件中的target属性创建java包,并且整个生成过程没有任何错误。
问题在于包结构很糟糕,因为目标名称的选择确实很差。其他开发人员讨厌它。他们只需要几节课。
所以我一直想做的就是给处理器一个bindings.xml文件,我想在其中指定要在给定包名称中生成的某些类。我在Oracle网站的文档,论坛和示例之间来回走动。我无法引用绑定文件的每个迭代。我当前的化身是这样的:
<jaxb:bindings
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
version="2.1"
schemaLocation="heavy.xsd"
node="//xsd:element[@name='Error']"
>
<jaxb:bindings node="//xsd:element[@name='Error']">
<jaxb:package name="ABC"/>
</jaxb:bindings>
<jaxb:globalBindings
underscoreBinding="asCharInWord"
localScoping="toplevel"
typesafeEnumMaxMembers="10000"
generateElementClass="true"
>
</jaxb:globalBindings>
<!--
<jaxb:package name="ABC"/>
-->
<!--
<jaxb:schemaBindings>
<jaxb:package name="ABC"/>
</jaxb:schemaBindings>
-->
<!--
<jaxb:schemaBindings>
<jaxb:package name="ABC"/>
<jaxb:nameXmlTransform>
<jaxb:elementName prefix="Error"/>
</jaxb:nameXmlTransform>
</jaxb:schemaBindings>
-->
</jaxb:bindings>
Run Code Online (Sandbox Code Playgroud)
不管我尝试什么,我都没有看到它会在ABC包中生成任何类。在这种情况下,我希望在ABC中生成错误。任何帮助将不胜感激。
我有一个Soap请求进入骡子流.我的任务是从有效负载中获取信息,并根据结果将原始请求推送到不同的jms队列.
为了从有效负载中获取所需信息,我使用的是XSLT转换器(不是XPath,因为我需要从一个元素获取IDREF属性,基于IDREF,从IDREF对象中获取元素然后是一个子元素).
基于XSLT转换的结果,我使用choice元素来推送原始有效负载.我将原始有效负载存储在会话中(也可以在入站中执行).在XSLT转换后,应用选择路由器以找出适当的队列,然后将原始有效负载推入队列(存储在会话变量中的原始有效负载).我正在使用<expression-component>元素.下面是mule-flow的片段:
<flow name="ProcessXML121Order">
<jms:inbound-endpoint queue="mviq.121.order" exchange-pattern="one-way" />
<logger message="121 order payload is #[payload]" level="INFO" />
<message-properties-transformer scope="session">
<add-message-property key="mviPayload" value="#[payload]"/>
</message-properties-transformer>
<xm:xslt-transformer xsl-file="chooseVendor.xslt" />
<logger message="After xsl file payload is #[payload]" level="INFO" />
<choice>
<when expression="'EMSI'">
<logger message="Vendor is EMSI" level="INFO" />
<expression-component>payload=#[header:SESSION:mviPayload]</expression-component>
<jms:outbound-endpoint queue="mviq.121.order.emsi" />
</when>
<when expression="'PRMD'">
<logger message="Vendor is PRMD" level="INFO" />
<jms:outbound-endpoint queue="mviq.121.order.prmd" />
</when>
<when expression="'RSA'">
<logger message="Vendor is RSA" level="INFO" />
<logger message="RSA payload is #[payload]" level="INFO" />
<jms:outbound-endpoint queue="mviq.121.order.rsa" …Run Code Online (Sandbox Code Playgroud)