标签: entityreference

如何在XML属性值中包含&,<,>等

我想创建一个XML文件,用于存储Java程序的结构.我能够成功解析Java程序并根据需要创建标记.问题出现时,我尝试,包括我的标签中的源代码,因为Java源代码可以使用的实体引用广大和保留的字符,如&,<,>,&.我无法创建有效的XML.

我的XML应该是这样的:

<?xml version="1.0"?>
<prg name="prg_name">
  <class name= "class_name>
    <parent>parent class</parent>
      <interface>Interface name</interface>
.
.
.
      <method name= "method_name">
        <statement>the ordinary java statement</statement>
        <if condition="Conditional Expression">
          <statement> true statements </statement>
        </if>
        <else>
          <statement> false statements </statement>
        </else>
        <statement> usual control statements </statement>
 .
 .
 .
      </method>
    </class>
 .
 .
 .
 </prg>
Run Code Online (Sandbox Code Playgroud)

像这样,但问题是条件表达式if或其他语句中有很多&或其他保留符号阻止XML得到验证.由于所有这些数据(源代码)都是由用户提供的,因此我无法控制它.逃避角色在时间上将是非常昂贵的.

我可以使用CDATA来转义元素文本,但它不能用于包含条件表达式的属性值.我正在使用Antlr Java语法来解析Java程序并获取标记的属性和内容.那么还有其他解决方法吗?

java xml xml-attribute entityreference

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

哪些是HTML和XML特殊字符?

HTML和XML中有哪些特殊的保留字符实体?

我所说的信息是:

HTML:

  • & (替换&amp;)
  • < (替换&lt;)
  • > (替换&gt;)
  • " (替换&quot;)
  • ' (替换&apos;)

XML:

  • < (替换&lt;)
  • > (替换&gt;)
  • & (替换&amp;)
  • ' (替换&apos;)
  • " (替换&quot;)

但我无法找到其中任何一个的文档.

W3C确实在可扩展标记语言(XML)1.0(第五版)中提到了某些预定义的实体引用.但它表示这些实体是预定义的(与&copy;预定义的方式相同); 不是他们必须逃脱:

4.6预定义实体

[定义:实体和字符引用都可以用于 转义左尖括号,&符号和其他分隔符.为此目的指定了一组通用实体(amp,lt,gt,apos,quot).也可以使用数字字符引用; 它们在被识别时立即展开,必须被视为字符数据,因此数字字符引用"<"和"&"可用于在字符数据中出现<和&.

必须将哪些字符转义为HTML中的实体引用?必须
哪些字符转义为XML中的实体引用?


更新:

可扩展标记语言(XML)1.0(第五版):

2.4字符数据和标记

&符号(&)和左尖括号(<)不得 以其文字形式出现,除非用作标记分隔符,或用于注释,处理指令或CDATA部分.
如果在其他地方需要它们,则必须 …

xml http special-characters entityreference htmlspecialchars

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

使用DynamicsCRM中的插件获取EntityReference的GUID

这个问题与我现在为Dynamics CRM 2011创建的插件有关.

我有一个有5个属性的实体.其中1个属性是另一个实体的查找.

我想用插件做的是修改Lookup实体的Guid.简单吧?

但不,它给了我麻烦,我已经尝试了几十种方法使用EntityReference来获取guid但不能.我试过创建一个失败的preImage.

这是CODE的片段.

Entity entity = (Entity)context.InputParameters["Target"];

   if (entity.LogicalName == "new_producttaxrate")
  {
   if (entity.Attributes.Contains("new_product"))
     {

     EntityReference ownerLookup = (EntityReference)entity.Attributes["new_product"];
      productName = ownerLookup.Name;
      Guid  productId = ownerLookup.Id;

    }
  }
Run Code Online (Sandbox Code Playgroud)

也想出了这个

     if (entity.Attributes.Contains("new_producttaxrateid"))
              {
                  Guid myGuid = (Guid)entity.Attributes["new_producttaxrateid"];
                  EntityReference ownerLookup = new EntityReference("new_product", myGuid);
                   pid = ownerLookup.Id;
               }
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误

    Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Condition for attribute 'new_producttaxrate.new_product': expected argument(s) of type 'System.Guid' but received 'System.DBNull'.Detail: 
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
  <ErrorCode>-2147220989</ErrorCode>
  <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
    <KeyValuePairOfstringanyType>
      <d2p1:key>CallStack</d2p1:key>
      <d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" …
Run Code Online (Sandbox Code Playgroud)

plugins entity dynamics-crm entityreference

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

实体框架 - 插入具有多个模型和数据库的实体

我将我的域拆分为多个Entity Framework模型.我有一些跨多个模型的共享实体(名为Lookup),但是,使用在实体框架中使用大型模型中描述的方法将这些实体替换为"使用"引用.然而,让我的案例稍微独特的是,我还将这些模型分成多个数据库(每个模型一个).

我在将一个共享实体插入公共数据库时遇到问题.它失败了,错误:

元数据集合中不存在具有标识"Harmony.Members.FK_ResidentialAddress_ResidenceTypeLookup"的成员.

它所指的外键在"公共DB"上存在.但我也没有在关系的另一端(命名为ResidentialAddress)与实体合作; 我甚至没有包含初始化的其他实体的上下文(名为MembersDb).但是,两个模型都编译到同一个程序集中.

Lookup到ResidentialAddress 没有导航属性.虽然在另一个方向有一个导航属性(我不会坚持 - 只在内存中使用).

MetadataWorkspace对于EntityConnectionCommonDb上下文的显式初始化仅使用SSDL/CSDL/MSL来获取该数据库所需的数据.我已经确认没有引用该组架构数据中提到的外键.

var metaAssembly = typeof(CommonDb).Assembly;
var schemaResources = new string[]
{ 
    String.Format("res://{0}/Common.ssdl", metaAssembly.FullName), 
    String.Format("res://{0}/Common.csdl", metaAssembly.FullName), 
    String.Format("res://{0}/Common.mdl", metaAssembly.FullName), 
}
MetadataWorkspace metadata = new MetadataWorkspace(schemaResources, new []{ metaAssembly });
EntityConnection connection = new EntityConnection(metadata, myDatabaseConnection);
Run Code Online (Sandbox Code Playgroud)

可能的CLUE:当我进入生成的类并删除所有EdmRelationshipAttribute属性以及EdmRelationshipNavigationPropertyAttribute从相关模型(MembersDb)配对时,它确实有效.

关键问题:

  1. 那么为什么实体框架试图对一个既不在范围内也不会受到记录插入影响的实体的关系做一些事情呢?

  2. 我很高兴让生成的代码删除上面提到的属性,但我仍然希望保留导航属性.我将如何改变CSDL来实现这一目标?

注意:"子"模型的持久性不是优先级,它们现在的跨数据库外键的完整性也不是优先级.这些数据库使用SQL CE保留,但它们最初是从单个主SQL Server数据库生成的.

.net c# entity-framework ado.net-entity-data-model entityreference

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

有条件地转义特殊的xml字符

我环顾四周了很多,但一直没能找到一个内置的.NET方法只会逃避特殊XML字符: <,>,&,'" 如果它不是一个标签.

例如,采用以下文本:

Test& <b>bold</b> <i>italic</i> <<Tag index="0" />
Run Code Online (Sandbox Code Playgroud)

我希望它转换为:

Test&amp; <b>bold</b> <i>italic</i> &lt;<Tag index="0" />
Run Code Online (Sandbox Code Playgroud)

请注意,标签不会被转义.基本上,我需要这个值设置到InnerXMLXmlElement,因此,这些标签必须保留.

我已经研究过实现我自己的解析器并使用a StringBuilder来尽可能地优化它,但它可能变得非常讨厌.

我也知道可以接受的标签可以简化事情(仅限:br,b,i,u,blink,flash,Tag).此外,这些标签可以是自闭标签

(e.g. <u />)
Run Code Online (Sandbox Code Playgroud)

或容器标签

(e.g. <u>...</u>)
Run Code Online (Sandbox Code Playgroud)

c# xml escaping entityreference

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

XQuery由"&amp;"引起的无效实体引用错误 实体参考

我正在尝试运行此行,xdmp:unquote(concat('<info>', string( $paragraph) , '</info>'))但我遇到以下错误:xdmp:unquote("<info>LEARNING &amp; MEMORY</info>") -- Invalid entity reference " " at line 1.看起来这个实体引用&amp;导致了问题.我试图使用replace函数删除它但它仍然存在.我该怎么办?

xquery entityreference marklogic f#-unquote

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

使用EntityReference查询问题

当我执行代码时:

        public List<T> GetCustomerTxList(int customerId)
        {
            var matchingPocos = new List<T>();

            using (linq.AOMSEntities dataRepos = new linq.AOMSEntities())
            {        
                IEnumerable txlist = from t in dataRepos.TransactionRecord
                                 where t.CustomerReference.Value.Id == customerId
                                 select t;

                foreach (EntityObject entity in txlist)
                {
                    matchingPocos.Add(entity.ConvertToPoco<T>());
                }
            }
            return matchingPocos;
        }
Run Code Online (Sandbox Code Playgroud)

我收到以下异常:Data.Repository.Integration.Test.LinqRepositoryTest.GetCustomerTxList:System.NotSupportedException:LINQ to Entities不支持指定的类型成员'CustomerReference'。仅支持初始化程序,实体成员和实体导航属性。

CustomerReference是在TransactionRecord实体上引用Customer实体的EntityReference。

为什么我不能使用实体引用进行查询?

建议执行这种查询的方法是什么?

如果有帮助,我将很乐意提供更多的信息/代码。

asp.net linq-to-entities entity-framework entityreference

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

Drupal 8 视图:忽略管理员角色的上下文过滤器

我有一个服务于实体参考字段的视图。我需要它:(1)提取当前登录用户创作的内容,(2)除非当前登录用户具有“管理员”角色,在这种情况下提取所有内容。

目前,我将上下文过滤器设置为“作者”,这可以很好地满足要求 (1)。我想我需要它来绕过基于角色的过滤器。对于“块”或“页面”显示,我只需复制显示,根据角色为其设置权限,而且是无缝的。但因为这是一个实体引用字段,所以我只能在字段设置中指定一种显示。有任何想法吗?

drupal view entityreference drupal-8

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

什么是实体参考定义

我试图理解实体引用的使用(在crm 2011中)我在网上发现了许多实体引用的例子,主要是查找字段,但我需要一个绝对的descreption.实体引用仅用于查找字段吗?我可以使用一个简单的实体来获取我的数据吗?可以实体替换实体引用吗?我的问题不仅仅是关于实体引用和实体之间的区别,还涉及实体引用的定义以及使用它的原因/位置.有人可以让这个主题明确.

c# entity dynamics-crm entityreference dynamics-crm-2011

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