标签: transform

使用xsl变量来捕获调用模板的输出,为我返回空白

我看过很多帖子都做了这样的事情,这让我觉得这是可能的,我只是做错了什么.我尽可能简化了它,试图弄清楚为什么会发生这种情况:

继承人我的xml(没什么好激动的):

<?xml version="1.0" encoding="UTF-8"?>
<REPORT>

</REPORT>
Run Code Online (Sandbox Code Playgroud)

这是我的xsl:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:template match="REPORT">
      <xsl:variable name="tryThisTemplate">
        <xsl:call-template name="TRY_THIS"/>
      </xsl:variable>
      <TEST1>
        <xsl:call-template name="TRY_THIS"/>
      </TEST1>
      <TEST2>
        <xsl:value-of disable-output-escaping="yes" select="$tryThisTemplate" />
      </TEST2>
      <TEST3>
        <xsl:value-of select="$tryThisTemplate" />
      </TEST3>
    </xsl:template>

    <xsl:template name="TRY_THIS">
      <MY_NODE desc="my description" />
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

这是我的结果:

<?xml version="1.0" encoding="utf-8"?>  
<TEST1>
  <MY_NODE desc="my description"/>
</TEST1>
<TEST2></TEST2>
<TEST3></TEST3>
Run Code Online (Sandbox Code Playgroud)

这是我的问题:为什么TEST2和TEST3不起作用.$ tryThisTemplate变量似乎为空.我在这里误解了什么.我应该以不同的方式做这件事吗?

xml xslt transform

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

在transform中引用新列

我有一个包含标记为A,B和C的列的数据框.我想添加从现有列和新列本身计算的新列.为此,我尝试使用如下变换函数:

Data = transform(Data,
          NewD = A + B,
          NewE = C * NewD
)
Run Code Online (Sandbox Code Playgroud)

但是这给出了一个错误:

eval中的错误(expr,envir,enclos):找不到对象'NewD'

我也试过像这样的cbind函数:

NewD = Data$A + Data$B,
NewE = Data$C * New$D
Data=cbind(Data,NewD,NewE)
Run Code Online (Sandbox Code Playgroud)

但是当附加列(函数)的数量增加时,它变得很麻烦.

如何在转换函数中引用NewD,或者是否有更好的方法来应用这样的多个函数.我希望Data包含A,B,C,NewD和NewE列,而不必多次调用转换函数.

variables r transform

8
推荐指数
2
解决办法
258
查看次数

可以通过configSource链接到web.config的部分配置文件在Web项目中转换吗?

寻找任何与SlowCheetah合作的人在Web项目下转换配置文件的帮助.我们发现从web.config引用的部分配置文件没有被转换.

例如,我们在web.config中包含对部分配置AppSettings.config和ConnectionsString.config的引用,如下所示:

  </system.web>
  <connectionStrings configSource ="ConnectionsString.config"></connectionStrings>
  <appSettings configSource ="AppSettings.config"></appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后在AppSettings.config中我们只有AppSettings部分,如下所示:

<appSettings>
  <add key="LostPasswordBCC" value="knock@timmons.com" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

最后在转换文件AppSettings.Debug.config中我们有一些补充:

<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations 
     see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings >
    <add key="Release" value="Something" xdt:Transform="Insert" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

显然上面只是一个测试,看看转换发生了,但我们发现的是,在尝试预览转换时,我们得到的所有内容都是错误"处理转换时出错".发布尝试也失败了.

如果我们使配置文件完全形成xml而不是从web.config引用,那么转换似乎工作正常 - 但是希望在多个项目之间共享这些文件.

有没有人知道是否有一个解决方法,我们既可以从web.config引用部分配置,也可以转换那些部分文件?我们正在处理遗留代码,其中包含大量尝试合并的Web项目中的配置文件,因此需要从Web配置链接到单独的共享文件.

xslt web-config transform appsettings slowcheetah

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

CSS3在动画元素上旋转,导致不调用click事件

好吧,这个问题给我带来了很多问题.

将css3 -webkit-transform样式与任何类型的3d旋转(例如rotateY(30deg))一起使用时,将click事件绑定到此旋转对象是极不可靠的.

请参阅下面的示例代码或查看此小提琴(要查看小提琴中的不可靠性,请单击元素的右侧).此示例没有动画但仍受影响.

HTML:

<div id='box1'>Click this box.</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

#box1{
    -webkit-transform: rotateY(30deg);
}
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('#box1').click(function(){
    alert('clicked box 1');
});
Run Code Online (Sandbox Code Playgroud)

我的意思是'不可靠'是不会总是抛出click事件(取决于你点击它的位置),有时事件根本不会被抛出(无论你在哪里点击它).

有没有办法解决或避免这种情况,以便旋转和动画时它与CSS3元素一起使用?

更新:

在元素上使用CSS属性"float:left"似乎允许它在不运动时正确检测点击事件.有谁知道为什么浮动属性修复了这个?

我的最终目标是让对象在运动时接收点击事件,但是,当我应用新的CSS3 rotate3d属性(实时,在另一个jquery事件上)给出对象动画时,click事件再次开始失败.

html jquery transform css3 jquery-animate

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

CALayer内容超出范围 - iOS

我正在尝试使用相机变焦CGAffinetransform.变换很好,但是当我将它缩放到更大的尺寸时,它就会超出我分配给它的帧AVCaptureVideoPreviewLayer.我尝试设置masksToBounds属性YES但它没有帮助.

我可以在其框架内包含它吗?

编辑:
我想要的是我可以指定相机预览图层的特定区域,如果我对其应用缩放变换(即,预览图层的帧被展开),指定区域之外的图层部分会被剪裁.

transform scale calayer ios

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

HTML5 + JS:可旋转字符的碰撞检测

我正在为我的游戏制作碰撞系统; 这是一个自上而下的射手,角色永远是静态的 - 其他一切(地图/水平),在他周围移动.

角色也会旋转,因此它始终面向鼠标位置.

考虑到这一点,我似乎无法理解我的碰撞系统,它需要考虑角色旋转,对吧?

我基本上只想检查给定的对象是否完全'触摸'我的角色/精灵.我不太确定我使用的数学是否正确.

这是我的碰撞检测(称为每次更新):

function detectCollisions(){

    //Detect for game props
    if(collides(Map, TestProp)){
        console.debug("Touching...");
    }

}

function collides(a, b){

    //ctxMap.setTransform(1, 0, 0, 1, -Map.x + gameWidth/2, -Map.y + gameHeight/2);

    //var transX = -Map.x + gameWidth/2;
    //var transY = -Map.y + gameHeight/2;

    //need to take player rotation into account too!

    //console.debug(a.x + " " + b.x + " " + b.width + " " + Player.width); //A Width

    /*return  a.x < b.x + b.width && a.x + Player.width …
Run Code Online (Sandbox Code Playgroud)

javascript html5 transform rotation collision

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

"展平"转变为路径?

鉴于以下SVG:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="1891px" height="1492px" viewBox="0 0 1891 1492" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <g transform="translate(352 500)">
        <path d="M1,0 L1,400 C0.999999169,799.99998 201,1205 601,1439.4375 C1001,1205 1201,800 1201,400 L1201,0 L1,0 Z M1,0"></path>
        <path d="M1,0 L1,960.824531 C1.00000084,1439.4375 489.311066,1258.28207 600.483175,1439.4375 C708.904794,1258.28211 1201,1439.4375 1200.99997,960.824531 C1200.99996,960.824531 1201,0 1201,0 L1,0 Z M1,0"></path>
    </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

是否有任何工具可以使用变换自动更新路径点,并从组元素中删除变换?

我有一个SVG应用程序(草图),使用转换属性输出SVG(如果您对路径进行任何调整),但在我的Web应用程序中,我需要实际的路径点已经调整,而不是使用任何转换属性.

澄清:目标是找到一个允许在大型SVG文件上执行此操作的应用程序或工具,从而删除整个文件中的任何转换属性.

谢谢!

svg transform

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

根据另一个单元格中的值更改单元格中的值

搜索了这个,但找不到办法.

我希望能够将一个单元格中的值转换为另一个单元格中的另一个值,如下所示:

当A列中的单元格包含'Y'时,将B列中相同数量的单元格设置为'Male',或者当A列中的单元格包含'N'时,将B列中的相同数字单元格设置为'Female'

例如,A2 = Y然后B2 =男性A2 = N然后B2 =女性

在此先感谢您的任何建议.

〜埃里克

excel transform

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

在Chrome 37中使用.transform旋转(90度)未应用

我有一些代码,直到最近,它还支持所有支持CSS转换的浏览器.它打破了最新的Chrome(37).我发现了这个问题.其他元素不接受来自元素的计算样式的变换.

HTML

<div class="one">One</div>
<div class="two">Two</div>
<span></span>
Run Code Online (Sandbox Code Playgroud)

CSS

div {
    width: 100px;
    height: 100px
}

.one {
    background-color: red;
    transform: rotate(90deg);
}

.two {
    background-color: blue
}
Run Code Online (Sandbox Code Playgroud)

使用Javascript

var oneStyle = window.getComputedStyle(document.querySelector('.one'));
var oneTransform = oneStyle.transform;
document.querySelector('span').innerHTML = 'Tranform value is: ' + oneTransform;
var twoStyle = document.querySelector('.two').style;
twoStyle.transform = oneTransform;
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴:http://jsfiddle.net/acbabis/0v8v2xd7/

问题是第二个(蓝色)元素与第一个(红色)元素的旋转方式不同,即使我在javascript中告诉它.

对我来说这看起来像个错误.是吗?

编辑:我的实际代码在每个浏览器中工作,但最新的Chrome,但似乎我的示例代码在所有浏览器中断.我还是想明白为什么会出现上述问题.

编辑2:让它再次打破Chrome 37.我的猜测是它不喜欢科学记数法; 但那么为什么计算出的风格会有呢?

javascript google-chrome transform css3

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

同步超视图的变换矩阵和不同坐标空间中的各个视图

给定以下视图层次结构

root (e.g. view of a view controller)
  |_superview: A view where we will draw a cross using core graphics
    |_container: Clips subview
      |_subview: A view where we will show a cross adding subviews, which has to align perfectly with the cross drawn in superview
        |_horizontal line of cross
        |_vertical line of cross
Run Code Online (Sandbox Code Playgroud)

任务:

在全局变换的情况下,必须始终对齐superview并且subview必须始终对齐."要求"部分中的更多详细信息.

语境:

上面的视图层次结构属于图表.为了提供最大的灵活性,它允许以3种不同的方式呈现图表点和相关内容:

  1. 在图表的基本视图(superview)draw方法中绘图.

  2. 添加子视图到subview.subview在zoom/pan上进行转换,并自动显示其子视图.

  3. 将子视图添加到兄弟姐妹中subview.为简单起见,未在视图层次结构中显示,因为它与问题无关.这里只提一下概述.这个方法和2.之间的区别在于,这里视图没有被转换,所以它留给内容的实现来"手动"更新所有子节点的转换.

最大的灵活性!但实现这一目标的成本实施起来有点棘手.具体点2.

目前我通过基本上处理superview核心图形绘制的变换并且subview单独地进行缩放/平移工作,但这导致冗余和容易出错,例如重复的边界检查代码等. …

math transform matrix uiview ios

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