小编Mae*_*o13的帖子

为什么HTML1113:文档模式从IE9标准重新启动到Quirks

我在IE9中打开一个网页 - 然后文档模式突然切换到Quirks模式.页面本身很简单 - 没有doctype,没有元标记,只是形成页面的xslt中的一块(测试目的)javascript.
请在同一位置使用提到的xsl 查看http://home.arcor.de/martin.honnen/xslt/test2012041901.xml.为方便起见,我复制了以下内容.

页面内容是

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test2012041901.xsl"?>
<test/>
Run Code Online (Sandbox Code Playgroud)

并且xsl包含

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0"
  xmlns:ms="urn:schemas-microsoft-com:xslt"
  xmlns:my="http://example.com/my"
  exclude-result-prefixes="ms my">

  <xsl:output method="html" version="5.0"/>

  <ms:script language="JScript" implements-prefix="my">
  <![CDATA[
  function tokenize (input) {
    var doc = new ActiveXObject('Msxml2.DOMDocument.6.0');
    var fragment = doc.createDocumentFragment();
    var tokens = input.split(';');
    for (var i = 0, l = tokens.length; i < l; i++)
    {
      var item = doc.createElement('item');
      item.text = tokens[i];
      fragment.appendChild(item);
    }
    return fragment.selectNodes('item');
  }
  ]]>
  </ms:script>

  <xsl:template match="/">
    <html>
      <head> …
Run Code Online (Sandbox Code Playgroud)

browser internet-explorer quirks-mode internet-explorer-9

23
推荐指数
1
解决办法
3万
查看次数

SOAP,http Web服务请求和URL

我熟悉http web服务请求,其中服务所需的参数在url查询部分中提供,例如?parm = 1或?file ="C:\ test.xml".

我现在正在阅读SOAP,我想知道这背后的调用技术是什么:
- 是一个在后台转换为url的SOAP请求(将SOAP xml转换为字符串作为url查询部分的一部分)?
- SOAP请求总是具有等效的URL吗?
- 或者SOAP和http服务请求是否在后台转换为http POST请求?
- 我在哪里可以找到所有这些的好的,澄清的例子?

soap web-services httprequest

12
推荐指数
1
解决办法
3万
查看次数

如何在soapServer响应中返回自定义XML响应?

我正在建立一个SOAP Web服务,它接受XML输入并且必须返回自定义XML输出.所有这些都在WSDL中定义.我为此应用soapServer(直到有人说它有错误阻止我实现我的目标:-)).

我还没有能够返回自定义XML:我得到一些似乎基于WSDL的结果,标准根元素名称等于输入XML加上"响应".实际上,这让我感到惊讶,作为一个侧面问题,我想知道为什么会这样,以及它是否可以受到影响.当然,在创建响应时以某种方式使用WSDL定义是一件好事,但正如我所说,我不知道如何在响应中获得自定义XML.

我得到了这个:

WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://pse/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    name="PSE"
    targetNamespace="http://pse/">
    <types>
        <xs:schema>
            <xs:import namespace="http://pse/" schemaLocation="PSE.xsd"/>
        </xs:schema>
    </types>
    <message name="MI102Req">
        <part name="cdhead" type="tns:cdhead_T"/>
        <part name="instr" type="tns:instr_T"/>
    </message>
    <message name="Res">
        <part name="cdhead" type="tns:cdhead_T"/>
    </message>
    <portType name="MIPortType">
        <operation name="mi102">
            <input message="tns:MI102Req"/>
            <output message="tns:Res"/>
        </operation>
    </portType>
    <binding name="MIBinding" type="tns:MIPortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="mi102">
            <soap:operation soapAction="http://www.testURL/test_soap.php#mi102"/>
            <input>
                <soap:body use="literal" namespace="http://pse/"/>
            </input>
            <output>
                <soap:body use="literal" namespace="http://pse/"/>
            </output>
        </operation>
    </binding>
    <service name="PSE">
        <port name="MIPortType" binding="tns:MIBinding">
            <soap:address location="http://www.testURL/test_soap.php"/>
        </port>
    </service>
</definitions>
Run Code Online (Sandbox Code Playgroud)

输入XML …

php soap soapserver

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

XSLT 1.0变体,用于不同的值

我有一个XSLT,其中(从输入数据中)创建中间变量,如下所示(硬编码示例,但本质上是动态的):

<xsl:variable name="variableX">
    <ValidCode CodePart="CP1" Code="C1"/>
    <ValidCode CodePart="CP2" Code="C2"/>
    <ValidCode CodePart="CP1" Code="C3"/>
    <ValidCode CodePart="CP2" Code="C4"/>
    <ValidCode CodePart="CP2" Code="C5"/>
</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

我希望遍历CodePart值的不同出现。在XSLT 2.0中,这很容易:

<xsl:for-each select="distinct-values($variableX/ValidCode/@CodePart)">...</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

但是,如何在XSLT 1.0中做到最好呢?
请注意,我不能使用键,因为它是动态确定的变量,而不是输入文件的一部分。

我的输入文件确实包含所有可能的代码部分的列表,如下所示:

<root>
    <CodePart><value>CP1</value></CodePart>
    <CodePart><value>CP2</value></CodePart>
    <CodePart><value>CP3</value></CodePart>
</root>
Run Code Online (Sandbox Code Playgroud)

所以我想到了循环//CodePart/value,以确保初学者的独特性。但是然后我需要一些包含条件的Xpath表达式

“值出现在所有$ variableX / ValidCode / @ CodePart值的节点集中”

并使用类似

<xsl:for-each select="//CodePart[..condition..]/value">...</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

我正在寻找Xpath表达式的简单形式吗?
还是其他方法更可取?

xslt xpath xslt-1.0

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

如何比较字符串与Xpath 1.0?

我正在使用<Xpath 1.0中的字符串来解决运算符问题.

这个简单的Xpath表达式

'A' < 'B' (or the equivalent 'A' &lt; 'B')
Run Code Online (Sandbox Code Playgroud)

我在libxslt(这是一个XSLT 1.0引擎)的xslt运行中没有评估为true.

我检查了XML Spy,它允许在1.0和2.0中测试Xpath表达式,果然,在Xpath 2.0中它的计算结果为true,但在Xpath 1.0中它的计算结果为false!

这是Xpath 1.0中的错误吗?

我应该使用什么其他表达式来比较两个字符串/字符的字母顺序?请注意,compare()函数不会这样做,因为这是一个XSLT 2.0函数.

php xslt xpath xslt-1.0

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

结果树片段到节点集:所有xsl引擎的通用方法

回答另一个线程(参见stackoverflow:生成css颜色方案)我遇到了下面的问题,其中不同的xsl引擎似乎需要不同的方法将结果树片段转换为节点集.

简化问题(但请参阅上面的链接以了解此背后的完整故事),我希望有一个包含颜色值列表的内联树.由于必须在Xpath表达式中使用,我必须专门为MSXML xx xsl引擎创建一个节点集(内置的XML Spy在解释构造为rtf的变量的Xpath表达式时遇到的麻烦较少).
另一个线程stackoverflow:automating-exsltnode-set帮助我.生成的节点集用于从输入XML创建新变量rtf.
同样,MSXML在Xpath表达式中使用新变量时会抱怨,所以我使用了node-set函数从中创建了一个节点集.
到目前为止一直很好,MSXML xx不再出错.
但是当我在XML Spy内置或Saxon 9he中运行相同时,我得到另一个错误:似乎节点集函数未知:

Cannot find a matching 1-argument function named {urn:schemas-microsoft-com:xslt}node-set() in variable colorList
Run Code Online (Sandbox Code Playgroud)

请注意,在这个特定的例子中不需要这种两步法,但正如我所说的,我简化了一些事情; 我只想知道如何编写一个适用于所有xsl引擎的XSLT 1.0转换.

我使用的XSLT:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:std="http://whatever"
    xmlns:exslt="urn:schemas-microsoft-com:xslt"
    exclude-result-prefixes="std exslt">

    <xsl:output method="xml" indent="yes"/>

    <std:colors>
        <color>#0000FF</color>
        <color>#FF0000</color>
    </std:colors>

    <xsl:variable name="colors" select="document('')/*/std:colors"/>

    <xsl:variable name="std:colorList">
        <xsl:for-each select="//testid">
            <xsl:variable name="pos" select="position() mod 2"/>
            <xsl:element name="color">
                <xsl:attribute name="testid"><xsl:value-of select="."/></xsl:attribute>
                <xsl:value-of select="$colors/color[$pos + 1]"/>
            </xsl:element>
        </xsl:for-each>
    </xsl:variable>

    <xsl:variable name="colorList" select="exslt:node-set($std:colorList)"/>

    <xsl:template match="/">
        <output>
            <xsl:copy-of …
Run Code Online (Sandbox Code Playgroud)

xslt msxml saxon node-set

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

easyPhp phpMyAdmin 访问被拒绝

我在 Windows 7 笔记本电脑上安装了 EasyPhp(版本 5.3.9)并尝试使用包含的 phpMyAdmin 模块(从 easyPhp 管理主页中选择),但我无法登录 - 我收到以下错误:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

我根本没有更改任何文件 - 所以它应该只使用 user=root 而没有密码,我假设。

我检查了 SO 中的其他线程,但找不到任何适用的解决方案。我还尝试完全卸载 easyPhp 并重新安装它,但是同样的问题,即使按照其中一个线程的建议清除所有浏览器缓存也是如此。

接下来做什么?当我什至无法进入管理工具时,如何在 EasyPhp 中使用 MySQL 模块?

mysql easyphp phpmyadmin

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

如何将文本从vba复制到windows Clipbaord

我有一个 ms access vba 代码,我希望将一些文本值复制到 Windows 剪贴板,以便我可以将其粘贴到其他地方(Word/Excel/记事本/等)。

我一直在寻找这个,但一切似乎都过于复杂。难道不应该是简单的事情吗

剪贴板.SetText 文本值

编辑

我尝试按照 BrianMStafford 的提示进行操作,但没有成功。也许原因是我的对象是树中的一个节点。当我做

MsgBox Me.NodeKey.Value

一切正常 - 我在消息框中看到节点路径。

在此输入图像描述

但当我这样做时

Me.NodeKey.SetFocus
DoCmd.RunCommand acCmdCopy

我在剪贴板中没有获取节点路径

那么如何将节点路径值复制到Windows剪贴板中呢?

clipboard vba

4
推荐指数
1
解决办法
3158
查看次数

XSLT 2.0 Xpath错误"不是节点项"

我在这里的第一篇文章 - 肯定希望有人知道答案!我已经能够为我遇到的许多问题找到解决方案,但对于这个问题却没有.关于同一主题的本网站上的问题和答案并没有解决我的问题......

我有一个包含格式规范的xml

<Format>
    <TagNr>92</TagNr>
    <Option>A</Option>
    <Format>//[N]15d</Format>
</Format>
<Format>
    <TagNr>92</TagNr>
    <Option>B</Option>
    <Format>//3!a/3!a/15d</Format>
</Format>
Run Code Online (Sandbox Code Playgroud)

TagNr +选项是此节点集中的唯一组合.

我定义了一个键,使得使用这组格式变得更容易:

<xsl:key name="xx" match="//Format/Format" use="concat(../TagNr, ../Option)"/>
Run Code Online (Sandbox Code Playgroud)

我确实可以使用这个键并获得正确的值,但仅限于非特殊元素; 我在以下每个或其他结构中使用此键时出现错误"XPath 2.0表达式中的错误不是节点项".

我尝试实现的目标如下:在处理的其他节点中,有一系列选项,我希望为每个字符检索格式.例如:

<Tag>
    <TagNr>92</TagNr>
    <Options>AB</Options>
</Tag>
Run Code Online (Sandbox Code Playgroud)

我一直在尝试下面的很多变种,但没有运气:

<xsl:variable name="TN"><xsl:value-of select="TagNr"/></xsl:variable>
<xsl:variable name="optList">
    <xsl:analyze-string select="./Options" regex="[A-Z]">
        <xsl:matching-substring>
            <xsl:variable name="TNO" select="concat($TN, .)"/>
            <opt>
                <tag><xsl:value-of select="$TNO"/></tag>
                <fmt><xsl:value-of select="key('xx', $TNO)"/></fmt>
            </opt>
        </xsl:matching-substring>
    </xsl:analyze-string>
</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

使用正则表达式分割成单个字符很顺利,并且(仅)检索(仅)opt/tag的值也很好.但是当我添加opt/fmt时,我遇到了上面提到的Xpath表达式的错误消息select ="key('xx',$ TNO)".

我尝试根据此站点上另一个线程中建议的键函数定义变量,但没有成功.

谁能帮我?

xslt key xslt-2.0

3
推荐指数
1
解决办法
1698
查看次数

XSLT文本输出处理器的差异

我在XSLT处理器的行为上遇到了一些特殊的差异.我想知道这背后的原因是什么,以及处理器差异是否有完整的概述.
我测试了以下简单转换(使用虚拟输入):

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output method="text"/>
    <xsl:template match="/">
        <xsl:text>1=&#xA;2=&#xD;3=&#xD;&#xA;4=&#xA;&#xD;end</xsl:text>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

在XML Spy(v 2011 sp1 x64)中运行,输出为:

1=  
2=  
3=  
4=  

end
Run Code Online (Sandbox Code Playgroud)

在所有情况下,在十六进制之后=和之后的行中4=,添加了两个字符,0D并且0A.显然,XML间谍会替换每个请求&xA;&xD;完整的CR + LF事件,除非按顺序请求CR和LF,相互之后(参见3 =部分).

但是当在saxon9he中运行时,我得到一个警告,我正在运行带有v2.0处理器的v1.0样式表,输出是

1=  
2=3=  
4=  
end
Run Code Online (Sandbox Code Playgroud)

在这种情况下,所有请求&xA;都被替换为0D 0A(因此在LF前面添加CR),但是请求&xD;输出所请求的CR,而不是额外的LF.

在XML中重新运行间谍设置XSLT版本为2.0会产生与1.0相同的结果,所以我想这两个XSLT版本中的不同之处就是导致这种情况.
最有可能的是,这只是我们必须了解的工具之间的差异,但我想知道是否还有更多关于这个问题的说法.

xslt

3
推荐指数
1
解决办法
384
查看次数