小编vIc*_*erg的帖子

带模式的XSLT apply-template - 没有匹配模式的结果不正确

这是一个简单的案例.

这是我的XML:

<?xml version="1.0" encoding="utf-8" ?>
<dogs>
    <dog type="Labrador">
        <Name>Doggy</Name>
    </dog>
    <dog type="Batard">
        <Name>Unknown</Name>
    </dog>
</dogs>
Run Code Online (Sandbox Code Playgroud)

此XML与两个Xslt一起使用.这是常见的一个:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="text"/>

    <xsl:template match="dogs">
        <xsl:text>First template&#13;&#10;</xsl:text>
        <xsl:apply-templates select="." mode="othertemplate" />
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

这是孩子一:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:include href="transform.xslt"/>

    <xsl:template match="dogs" mode="othertemplate">
        <xsl:text>&#9;&#9;Other template</xsl:text>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

孩子包括常见的孩子(称为transform.xslt).

当我执行孩子时,我得到了预期的结果:

First template
        Other template
Run Code Online (Sandbox Code Playgroud)

当我执行常见的,我得到这个奇怪的结果:

First template


        Doggy


        Unknown
Run Code Online (Sandbox Code Playgroud)

常见的模板应用模式"othertemplate".此模式仅在子xslt中包含.

我想要的是,如果没有模板"othertemplate",那么就不应输出任何内容.

我不希望为所有不必使用此模板模式的xslt文件包含模式为"othertemplate"的模板和空体...

我该怎么办?

谢谢

xslt mode

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

Amazon AWS - 如何更改链接到 RDS 的网络接口的私有 IP

我创建了一个链接到 VPC 的 RDS 数据库实例。

这创建了一个网络接口并自动分配了一个内部 IP:10.0.10.65

我想将此IP地址更改为10.0.10.15

我怎样才能实现这个目标?

amazon-web-services amazon-rds

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

NHibernate删除集合中的项目不起作用

我是NHibernate世界的新手.

为什么此代码可以从集合中删除区域:

Country country;

using (IUnitOfWork unit = UnitOfWork.Start())
{
    country = new Country();
    country.Name = "My country";

    Territory territory = new Territory();
    country.Territories.Add(territory);
    country.Territories.Remove(territory);
}
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用:

Country country;

using (IUnitOfWork unit = UnitOfWork.Start())
{
    country = _countries.GetById(1);

    Territory territory = new Territory();
    country.Territories.Add(territory);
    country.Territories.Remove(territory);
}
Run Code Online (Sandbox Code Playgroud)

在第二个代码片段中,_countries是一个存储库.国家/地区ID 1存在于数据库中.领土增加,但从未删除......

这是映射:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="iCible.Artishows.Framework.ObjectDefinition"
                   namespace="iCible.Artishows.Framework.ObjectDefinition" >
  <class name="Country" >
    <id name="ID">
      <generator class="identity"/>
    </id>
    <property name="Name" />
    <set name="Territories" cascade="all-delete-orphan" inverse="true" order-by="Name" sort="iCible.Artishows.Framework.ObjectDefinition.TerritoryComparer">
      <key column="COUNTRYID"/>
      <one-to-many class="Territory"/>
    </set> …
Run Code Online (Sandbox Code Playgroud)

c# collections nhibernate

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

寻找建议的失落的程序员

我是一名熟悉Delphi和Borland工具的程序员.我目前正在学习C#和.NET.

我计划完全重写我的商业化应用程序.

随着Microsoft工具提供的所有技术,我完全迷失了.

哪条路?的WinForms?WPF?WCF?Asp.NET?使用Microsoft Ajax?JQuery的?NHibernate的?强类型数据集?小号#ARP?城堡?犀牛?

我知道所有这些技术并不是相互排斥和兼容的,但我想知道哪种组合,据你说,是.NET世界中最好的.

简而言之,我的应用程序是一个数据库应用程序.我需要报告并能够将自定义字符串发送到标签/票据打印机.在应用程序的一个特定部分,我需要一些图形操作.就像绘制图像一样,能够对此图像进行鼠标操作,例如捕获鼠标上/下/移动.什么都没有真正进步,但它是必要的.我还需要在网上提供我的应用程序的一些功能...

如果您有任何建议,技巧,提示,成功故事......我真的想在.NET上弄脏手,但我每天都有1G的头脑阅读所有可用的东西.

谢谢.

c# architecture

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

带有OR语句的Linq.NHibernate问题

注意:所有代码都写在我的脑海中.它可能包含一些错误.只是得到这个问题的总体意义)

采用这个类定义:(简化为了简化)

public class CodedValue
{
  public string Code { get; set; }
  public string Value {get; set; }
}
Run Code Online (Sandbox Code Playgroud)

拍摄对象:

CodedValue cv1 = new CodedValue(){ Code = "A",  Value = "1" };
CodedValue cv2 = new CodedValue(){ Code = "B",  Value = "2" };
IList<CodedValue> cvList = new List<CodedValue>();
cvList.Add(cv1);
cvList.Add(cv2);
Run Code Online (Sandbox Code Playgroud)

cvList包含要过滤的CodedValue列表.

让我假装我的数据库包含记录:

CODE     VALUE
A        1
A        2
B        1
B        2
Run Code Online (Sandbox Code Playgroud)

现在,我想检索编码值在列表中的所有对象

var filter = from o in MyRepository.List()
             where cvList.Contains(o.CodedValue)
             select o;
Run Code Online (Sandbox Code Playgroud)

NHibernate将此Linq翻译为:

select [Fields...] from …
Run Code Online (Sandbox Code Playgroud)

linq nhibernate linq-to-nhibernate

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