小编Dim*_*hev的帖子

如何通过XSLT合并Java中的2个XML流

我想在Java中合并2个XML流(字符串),必须通过XSLT(我可以改变转换),但问题是XML是一个字符串.有很多例子,但是通过文件.这可以在不保存文件的情况下完成吗?

谢谢.

java xml

8
推荐指数
1
解决办法
2779
查看次数

如何传递参数并在我的xslt中使用它

我有一个xml文件和一个相关的xslt文件.我正在使用msxsl.exe,我需要传递一个参数作为命令行参数,并在我的xslt文件中使用它.我怎样才能做到这一点???

命令:

msxsl.exe country.xml sheet.xslt -o country_sheet.html p1="india"
Run Code Online (Sandbox Code Playgroud)

如何检索india我的xslt文件中的值?

xml xslt msxsl

8
推荐指数
1
解决办法
9751
查看次数

如何检查值是否在值序列中?

我有以下内容:

<xsl:when test="(PropertyType[@PropertyType=1]) 
                and ($year - YearBuild  &lt; 3)"
 >New</xsl:when>
Run Code Online (Sandbox Code Playgroud)

我想测试几个属性类型的属性标记,并且不仅为1,例如,在上面的例子中我检查,如果属性属性类型的元素的属性类型是等于1,我要检查它是否:等于1或2的,或10或11或....(一个数字列表)如何?

谢谢

xml xslt xpath

8
推荐指数
1
解决办法
3622
查看次数

XSLT:将命名空间添加到根元素

我需要更改根元素中的名称空间,如下所示:

输入文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<foo xsi:schemaLocation="urn:isbn:1-931666-22-9 http://www.loc.gov/ead/ead.xsd"
xmlns:ns2="http://www.w3.org/1999/xlink" xmlns="urn:isbn:1-931666-22-9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Run Code Online (Sandbox Code Playgroud)

期望的输出:

<foo audience="external" xsi:schemaLocation="urn:isbn:1-931666-22-9
     http://www.loc.gov/ead/ead.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
    instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="urn:isbn:1-931666-22-9">
Run Code Online (Sandbox Code Playgroud)

当我复制整个文档并且在给出任何其他转换指令之前,我试图这样做,但以下不起作用:

<xsl:template match="* | processing-instruction() | comment()">
    <xsl:copy copy-namespaces="no">
        <xsl:for-each select=".">
            <xsl:attribute name="audience" select="'external'"/>
            <xsl:namespace name="xlink" select="'http://www.w3.org/1999/xlink'"/>
        </xsl:for-each>
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
    </xsl:copy>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议!

xslt namespaces

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

使用LINQ-to-XML通过xpath查找或创建元素

有没有人使用xpath表达式找到或创建XObject的简洁方法.

我遇到的问题是我需要在一个元素(我有xpath)上设置一个值,这个值可能存在也可能不存在.如果它不存在,我希望它被创建.

非常感谢任何提示或链接.

谢谢大家.

c# xpath linq-to-xml

7
推荐指数
1
解决办法
1810
查看次数

如何在XSLT for-each语句中添加多个过滤器?

我有以下XSLT节点:

<xsl:for-each select="Book[title != 'Moby Dick']">
....
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

但是,我想在for-each中使用多个过滤器.我尝试了以下内容,但它似乎不起作用:

<!-- Attempt #1 -->
<xsl:for-each select="Book[title != 'Moby Dick'] or Book[author != 'Rowling'] ">
....
</xsl:for-each>


<!-- Attempt #2 -->
<xsl:for-each select="Book[title != 'Moby Dick' or author != 'Rowling']">
....
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

xslt foreach xpath filter

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

通过xslt和xml错误呈现的xforms

我知道这个问题听起来像是"从过去"的事情,但我需要做一个功课,我不能让它工作.

问题如下:

我有从数据库调用的xml数据,我使用xslt在浏览器上呈现xforms文档,顺便说一下它的旧firefox 3.6只是为了使用xforms扩展而安装的.它正确呈现xforms文档,但控件无法正常工作,我无法提交表单,实例数据也没有填入输入.

我的xsl样式表如下:

<xsl:stylesheet version="1.0"
            xmlns="http://www.w3.org/1999/xhtml"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:xf="http://www.w3.org/2002/xforms">
<xsl:output method="xml"
indent="yes"
omit-xml-declaration="yes"
media-type="application/xhtml+xml"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms" dir="ltr" lang="es">
        <head>
            <xf:model>
                <xf:instance>
                    <data xmlns="">
                        <iCargo_Id>1</iCargo_Id>
                        <sCargo_Desc>lalala</sCargo_Desc>
                        <iConcurrencia_Id>1</iConcurrencia_Id>
                    </data>
                </xf:instance>
                <xf:submission id="prueba" action="EditarCargos.aspx" method="post"/>
            </xf:model>

            <link href="../css/style.css" rel="stylesheet" type="text/css" />
            <title><![CDATA[Adicionar Cargos]]></title>
        </head>
        <body>
            <div class="header"></div>
            <div class="menu">
                <a href="../empleados/editarempleados.aspx"><![CDATA[Empleados]]></a>
                <a href="../horarios/editarhorarios.aspx"><![CDATA[Horarios]]></a>
                <a href="../jornadas/editarjornadas.aspx"><![CDATA[Jornadas]]></a>
                <a href="../cargos/editarcargos.aspx"><![CDATA[Cargos]]></a>
                <a href="../usuarios/editarusuarios.aspx"><![CDATA[Usuarios]]></a>
                <a href="../profesiones/editarprofesiones.aspx"><![CDATA[Profesiones]]></a>
                <a href="../reportes/ReporteMarcaciones.aspx"><![CDATA[Rep. de Marcaciones]]></a>
                <a href="../cerrarSesion.aspx"><![CDATA[Cerrar Sesión]]></a>
            </div>
            <div id="main">
                <div class="mainTitle"> …
Run Code Online (Sandbox Code Playgroud)

html xml xslt xhtml xforms

7
推荐指数
1
解决办法
451
查看次数

将文档作为参数传递给Java中的XSL Translation

我正在为我的XSL进行额外的国际化.我已经看到很多创建dictionary.xml文件并通过文档('dictionary.xml')将其加载到我的XSL中的示例.我想做类似的事情,但我不想在磁盘上创建和存储dictionary.xml文件,我宁愿在服务器启动时从SQL构建它,并将Document对象保存在Java内存中.我想将字典文档作为参数传递给变换器,以便我的XSL转换函数可以使用它.但是,它似乎没有起作用.

相关的Java代码:

Document dictionary = TranslationDictionary.getDictionaryDocument();
transformer.setParameter("dictionary", dictionary);
Run Code Online (Sandbox Code Playgroud)

字典文件内容:

<dictionary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <translatedString dictionaryId="BASIC_DETAILS">
        <language id="es" value="Detalles B&#225;sicos"/>
    </translatedString >
    <translatedString dictionaryId="VEHICLE_INFORMATION">
        <language id="es" value="Informaci&#243;n del Veh&#237;culo"/>
    </translatedString >
    <translatedString dictionaryId="STRUCTURE">
        <language id="es" value="Estructura"/>
    </translatedString >
    <translatedString dictionaryId="DRIVER_INFORMATION">
        <language id="es" value="Informaci&#243;n del Conductor"/>
    </translatedString >
    <translatedString dictionaryId="MAINTENANCE_AND_FEUL">
        <language id="es" value="Mantenimiento &amp; Combustible"/>
    </translatedString >
    <translatedString dictionaryId="PURCHASING">
        <language id="es" value="Compra"/>
    </translatedString >
</dictionary>
Run Code Online (Sandbox Code Playgroud)

XSL文件:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://www.test.com">
    <xsl:param name="dictionary"/>
    <xsl:param name="language" select="'es'"/>


<xsl:template match="/">
<xsl:message>
    <xsl:copy-of select="$dictionary/dictionary/translatedString[@dictionaryId='BASIC_DETAILS']/language[@id='es']/@value"/>
</xsl:message>

</xsl:template> …
Run Code Online (Sandbox Code Playgroud)

java xslt

7
推荐指数
2
解决办法
4521
查看次数

在visual studio 2010中调试xslt文件

我正在调试vs 2010中的xslt文件,起初我被提示链接到xml源文件.但是,现在我想使用不同的源文件.如何让xslt指向不同的xml源文件?

xml xslt debugging visual-studio-2010

7
推荐指数
1
解决办法
3674
查看次数

xslt变量范围及其用法

我正在学习xslt并且有一个关于如何在diff中使用xslt变量的问题.对于每个循环.我知道xslt不是一个过程语言,因此在for循环中声明的变量不能在另一个循环中访问.但有没有什么方法可以声明全局变量然后在第一个for循环中分配一些值并在第二个for循环中使用该变量?

任何想法都将受到高度赞赏.

谢谢

xslt

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