草庐IT

可扩展的

全部标签

java - 可以配置 JAXB 来防止实体扩展攻击吗?

通常在java中解析XML时,可以避免成为entityexpansionattacks的受害者。通过使用dbf.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING,true);其中dbf是用于创建用于XML解析的DocumentBuilder的DocumentBuilderFactory。但是,假设我正在使用JAXB解码一些XML,例如像这样:finalJAXBContextcontext=JAXBContext.newInstance(MyClass.class);finalUnmarshallerunmarshal

Xml 架构扩展顺序

如果我有一个扩展,我如何保证派生元素在基类元素之前?默认值是相反的。我很想使用all,但我知道那是不可能的。我希望被接受的xml看起来像这样:lalalalacheddarredlalalala目前我正在考虑将BaseClass的所有元素也复制到DerivedClass中,但我不知道substitutiongroups会发生什么,什么不会。 最佳答案 IfIhaveanextension,howcanIassurethatthederivedelementsareinfrontofthebaseclasselements?不幸的是,

.net - 防止 XmlTextReader 扩展实体

我试图在不扩展实体的情况下读取XML文档,对其进行一些操作,然后像最初一样使用未扩展的实体重新保存它。当直接使用XDocument时,它加载失败,抛出异常告诉我它有未展开的实体:XDocumentdoc=XDocument.Load(file);//Exception:Referencetoundeclaredentity'entityname'.然后我尝试将XmlTextReader传递给XDocument构造函数,但是EntityHandling属性没有“不展开”:XmlTextReaderxmlReader=newXmlTextReader(file));xmlReader.En

xml - 如何使用自定义元素扩展基本架构,同时保持开放以从新版本进行更改?

给定一个XSD如下:...定义了一些元素,这些元素允许来自不同命名空间的任何子元素。我想用自己的架构扩展此架构,并在基础文档中插入子元素和特定元素的属性。例如,myElementX或myAttributeY必须有父节点std:SomeRootNode。合并后的文档应该能够允许任何第三方以基本模式已经允许的任何方式继续扩展文档,但是对于来self的命名空间的元素和属性,我想验证所有元素和属性是否具有正确的父节点并且只出现在基础文档允许的地方。如何实现?我希望有一个干净的解决方案,不需要重新定义我正在扩展的基本架构。如果发布了新版本的基本模式,我希望能够轻松适应。我不想每次发布新版本的基础

xml - 如何覆盖父/扩展元素内的 Xsd 元素

我正在我的公司创建一个新的数据交换服务。我们想要扩展在我们的core.xsd定义文件中定义的现有对象。这是我需要做的一个例子:我认为这非常有道理。我想覆盖父元素并使其成为必需元素。但是,一个有效的xml文件应该是这样的。现在哪里多了一个部门名称!?HRIT我怎样才能使XML文件变成:IT谢谢,克雷格 最佳答案 您需要使用限制而不是扩展。对于您指定的场景,这将是一个完全有效的模式(我已经大量使用namespace使其有效)。 关于xml-如何覆盖父/扩展元素内的Xsd元素,我们在Stack

ruby-on-rails - 从 ActiveResource 请求中删除 .xml 扩展名

我正在尝试使用ActiveResource从第三方API使用xml数据。我可以使用RESTClient应用程序成功进行身份验证和发出请求。我对我的应用程序进行了编码,当我发出请求时,我收到了404错误。我补充说:ActiveResource::Base.logger=Logger.new(STDERR)到我的development.rb文件并找出问题所在。API以xml数据响应不以xml结尾的请求。EG,这在RESTClient中有效:https://api.example.com/contacts但是ActiveResource正在发送这个请求https://api.example.

xml - 使用 XML Schema 扩展元素而不是复杂类型

假设我有一些架构:这定义了一些元素foo其中有一些元素fooElement与类型字符串。我现在想扩展元素foo还有一个元素barElement并调用此分机bar.为了使事情复杂化,我们还假设其他人已经定义了foo并且架构无法更改。虽然这里的示例很简单,但我们还假设foo的内容可能会更复杂,而且定义一个新模式并不像复制元素fooElement那么简单.实际上,我想定义一个新模式:不幸的是的baseattribute只接受XSD类型参数,不接受元素。如何扩展元素?(我可以扩展一个元素吗?) 最佳答案 我会创建一个模仿foo元素的新类型,

xml - 使用更多字段扩展 RSS 格式?

我有一个网站,需要为其创建RSS提要。是否有用于将自定义字段添加到RSS提要的标准格式?例如,我想在我的RSS提要中添加一个“位置”元素。我有一些合作伙伴想要使用提要并能够使用特定于我的网站的自定义字段。对于当前的RSS2.0格式,这些是RSS2.0规范中包含的可用字段:RSSExampleThisisanexampleofanRSSfeedhttp://www.domain.com/link.htmMon,28Aug200611:12:55-0400Tue,29Aug200609:00:00-0400en-usCopyright2002,SpartanburgHerald-Journ

xml - 使用XSD验证XML……但仍然允许扩展

也许是我,但看来如果您有XSD定义此文档的架构如果您添加了另一个元素(例如EmailAddress)并混淆了订单,它将无法验证我不想将EmailAddress添加到文档中并将其标记为可选。我只需要一个XSD来验证文档必须满足的最低要求。有没有办法做到这一点?编辑:marc_s在下面指出,您可以在xs:any内使用xs:sequence来允许更多元素,不幸的是,您必须保持元素的顺序。另外,我可以使用xs:all,它不强制元素的顺序,但是可惜,不允许我将xs:any放在其中。 最佳答案 您的问题有解决方案,但不会很漂亮。原因如下:违反不

python - 如何在 pypi 上为多个版本的 Python 分发预编译的 Windows 扩展模块?

我想为Python2.6和Python2.7分发预编译的C扩展模块,用于32位和64位版本的Python。我应该如何在pypi上构建和分发它?我应该只使用bdist_egg吗?我可以保持与pip的兼容性吗?我注意到普通的bdist只是创建了一个不包含Python版本的.zip,尽管内部文件夹结构包含。这个.zip可以只包含例如Python26和Python27子目录? 最佳答案 您通常需要为需要支持的每个Python版本运行bdist_something。bdist_egg确实适用于PIPafaik(您可以轻松地对其进行测试)。Zo