问题列表 - 第25313页

XPath过滤器不是空的子元素

我需要过滤一个XPath表达式,只抓取某个属性为非空.

我试过这个:

<xsl:template match="DocumentElement/QueryResults[string(@FileName)]">
Run Code Online (Sandbox Code Playgroud)

还有这个:

<xsl:template match="DocumentElement/QueryResults[string-length(@FileName)>0]">
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我需要从下面的XPath表达式返回相同类型的数据...

<xsl:template match="DocumentElement/QueryResults">
Run Code Online (Sandbox Code Playgroud)

...但已过滤以避免具有空属性@FileName的项目.

谢谢!

xpath

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

是否有与Python os.path.normpath()的PHP等效函数?

是否有Python的PHP等效函数os.path.normpath()
或者我如何在PHP中获得完全相同的功能?

php python path

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

“上下文敏感”右键菜单的设计模式

我可以使用什么设计模式来生成“上下文相关”右键单击菜单?我想到了一个类似“Windows 资源管理器”的应用程序,用户可以在其中右键单击文件夹并获取菜单项列表,但右键单击驱动器并获取完全不同的列表。我应该使用什么设计模式?工厂设计模式是否适合处理这样的菜单?问候, 塞布

design-patterns menu

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

使用jQuery按背景颜色查找div

我正在尝试使用jQuery来查找可见的div数量,并且背景颜色为Green.

(通常我只是在div中添加一个类,将其设置为绿色,并在jQuery中检查该类,但在这个实例中,我实际上无法以任何方式更改页面本身的标记)

我目前有可见的div部分工作:

if(  // if there are more than one visible div 
    $('div.progressContainer:visible').length > 0   
){
Run Code Online (Sandbox Code Playgroud)

我想在那里扔一些"和背景颜色是绿色"选择器.

// not legit javascript
if(  // if there are more than one visible div, and its color is green 
    $('div.progressContainer:visible[background-color:green]').length > 0   
){
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?

javascript jquery jquery-selectors

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

网络安全:最坏情况

我目前已经构建了一个系统,用于检查用户IP,浏览器和随机字符串cookie,以确定他是否是管理员.

在最糟糕的情况下,有人窃取我的cookie,使用我做的相同浏览器,并屏蔽他的IP以显示为我的.是否有另一层安全性我应该添加到我的脚本中以使其更安全?

编辑:澄清:我的网站绝对不接受用户的任何输入.我只是设计一个后端管理面板,以便更新数据库条目.

python security

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

Scala闭包如何转换为Java对象?

我目前正在研究不同语言的闭包实现.但是,当谈到Scala时,我无法找到关于如何将闭包映射到Java对象的任何文档.

有充分证据表明Scala函数映射到FunctionN对象.我假设对闭包的自由变量的引用必须存储在该函数对象的某处(例如,在C++ 0x中完成).

我还尝试使用scalac编译以下内容,然后使用JD反编译类文件:

object ClosureExample extends Application { 
  def addN(n: Int) = (a: Int) => a + n
  var add5 = addN(5)
  println(add5(20))
}
Run Code Online (Sandbox Code Playgroud)

在反编译的源代码中,我看到了一个匿名的Function1子类型,它应该是我的闭包.但是apply()方法是空的,并且匿名类没有字段(可能存储闭包变量).我想反编译器没有设法从类文件中获取有趣的部分......

现在问题:

  • 你知道转变是如何完成的吗?
  • 你知道它在哪里被记录吗?
  • 你有另外一个想法我怎么能解开这个谜团?

closures decompiling scala

18
推荐指数
2
解决办法
1854
查看次数

使用Google Maps API v3循环标记问题

我不确定为什么这不起作用.我没有任何错误,但发生的是,无论我点击什么标记,它总是点击最后一个标记.我不知道为什么,因为the_marker设置方式相同.我怎样才能解决这个问题?:

(更新了新的jQuery + XML)

$(function(){
    var latlng = new google.maps.LatLng(45.522015,-122.683811);
    var settings = {
        zoom: 15,
        center: latlng,
        disableDefaultUI:true,
        mapTypeId: google.maps.MapTypeId.SATELLITE
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), settings);

    $.get('mapdata.xml',{},function(xml){
        $('location',xml).each(function(i){
            the_marker = new google.maps.Marker({
                title:$(this).find('name').text(),
                map:map,
                clickable:true,
                position:new google.maps.LatLng(
                    parseFloat($(this).find('lat').text()),
                    parseFloat($(this).find('lng').text())
                )
            });
            infowindow = new google.maps.InfoWindow({
                content: $(this).find('description').text()
            });
            new google.maps.event.addListener(the_marker, 'click', function() {
                infowindow.open(map,the_marker);
            });
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript xml jquery google-maps loops

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

与Java Swing的GroupLayout混合对齐

我正在尝试在我的应用程序中构建一个GUI窗口.我要做的是有一个窗口,顶部有几个按钮,还有一个大文本区域.像这样的东西:

+--------------------------------------------------+
| [button1] [button2]                    [button3] |
| +----------------------------------------------+ |
| | text area                                    | |
| |                                              | |
| |                                              | |
| |                                              | |
| +----------------------------------------------+ |
+--------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

我几乎在那里,使用GroupLayout:

  layout.setHorizontalGroup(
    layout.createParallelGroup()
      .addGroup(layout.createSequentialGroup()
        .addComponent(button1)
        .addComponent(button2))
        .addComponent(closeWindow))
      .addComponent(textarea1)
  );

  layout.setVerticalGroup(
    layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup()
        .addComponent(button1)
        .addComponent(button2)
        .addComponent(button3))
      .addComponent(textarea)
  );
Run Code Online (Sandbox Code Playgroud)

问题是,这最终会使button3与左边对齐,另外两个.我似乎无法弄清楚如何只在一个按钮上指定对齐方式.我可以在整个按钮栏上进行GroupLayout.Alignment.TRAILING,但是它会击中所有3个按钮,这也不太合适.

那么正确的方法是什么?由于对齐仅适用于并行组,我不认为拥有一个包含两个顺序组的Horizo​​ntalGroup会有帮助吗?

我错过了什么?

java swing grouplayout

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

Visual Studio 2010动态/平滑滚动

是否有一个VS.NET 2010的插件,可以在iPhone上实现动态滚动?基本上,我希望VS.NET中的文本编辑器能够进行动态/平滑滚动.

visual-studio-2010 visual-studio-2008 visual-studio

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

如何将生产转换为LL(1)以获得以分号分隔的列表?

我正在阅读这本关于解析的入门书(这是非常好的顺便说一句),其中一个练习就是"为你最喜欢的语言构建一个解析器".因为我今天不想死,所以我认为我可以做一个相对简单的解析器,即简化的CSS.

注意:本书教您如何使用递归下降算法编写LL(1)解析器.

所以,作为一个子练习,我正在从我所知道的CSS中构建语法.但是我坚持使用LL(1)无法改造的作品:

//EBNF
block = "{", declaration, {";", declaration}, [";"], "}"

//BNF
<block> =:: "{" <declaration> "}"
<declaration> =:: <single-declaration> <opt-end> | <single-declaration> ";" <declaration>
<opt-end> =:: "" | ";"
Run Code Online (Sandbox Code Playgroud)

这描述了一个CSS块.有效块可以具有以下形式:

{ property : value }
{ property : value; }
{ property : value; property : value }
{ property : value; property : value; }
...
Run Code Online (Sandbox Code Playgroud)

问题在于可选的";" 最后,因为它与{";",declaration}的起始字符重叠,所以当我的解析器在这个上下文中遇到分号时,它不知道该怎么做.

这本书讨论了这个问题,但在它的例子中,分号是强制性的,所以规则可以像这样修改:

block = "{", declaration, ";", {declaration, ";"}, "}"
Run Code Online (Sandbox Code Playgroud)

那么,是否有可能使用LL(1)解析器实现我想要做的事情?

css grammar parsing

5
推荐指数
1
解决办法
568
查看次数