标签: dtd

DTD需要元素排序

我希望以dtd中定义的任何顺序列出所需元素,但不知道我该怎么做.

例如,我有以下定义:

<!ELEMENT parent (child1, child2, child3)>
Run Code Online (Sandbox Code Playgroud)

这个dtd声明将成功验证以下xml:

<parent>
   <child1></child1>
   <child2></child2>
   <child3></child3>
</parent>
Run Code Online (Sandbox Code Playgroud)

但在以下情况下,xml将不会通过验证:

<parent>
   <child2></child2>
   <child1></child1>
   <child3></child3>
</parent>
Run Code Online (Sandbox Code Playgroud)

其中一个可能的解决方案是申报

<!ELEMENT parent (child1 | child2 | child3)>
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,虽然验证成功,但其中一个孩子可能会丢失.

当所需元素的列表可以按任何顺序出现时,我需要正确的dtd元素声明.

xml dtd

13
推荐指数
2
解决办法
7009
查看次数

免费XSD到DTD转换实用程序?

我有一个XSD(XML Schema),我需要转换为DTD.有没有免费的实用工具或简单的方法来实现这一目标?以XSLT为例?Python脚本也是受欢迎的.

注意:这是Free DTD到XSD转换实用程序问题的相反方向

我知道转换可能会丢失信息......

我尝试过XMLSpy或oXygenXML,但它不是免费的,我没有定制转换的可能性.

xsd dtd converters

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

XML中的特殊字符

我正在使用xml和xsl创建一个左导航系统.在我尝试在xml文档中使用特殊字符之前,一切都很顺利.我正在使用&raquo;,我得到了错误.

原因:引用未定义的实体'raquo'.
错误代码:-1072898046

我该如何工作?

xml xslt dtd entities special-characters

12
推荐指数
3
解决办法
2万
查看次数

如何防止XML :: XPath在处理XML文件时获取DTD?

我的XML(a.xhtml)就像这样开始

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
Run Code Online (Sandbox Code Playgroud)

我的代码就像这样开始

use XML::XPath;

use XML::XPath::XMLParser;

my $xp = XML::XPath->new(filename => "a.xhtml");

my $nodeset = $xp->find('/html/body//table'); 
Run Code Online (Sandbox Code Playgroud)

它非常慢,事实证明它花了很多时间来获得DTD(http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd).

有没有办法在Perl XML :: family中显式声明HTTP代理服务器?我讨厌修改原始的a.xhtml文档,比如拥有DTD的本地副本.

xml perl dtd

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

如何从XML文件样本中派生DTD(或其他XML规范格式)

您是否知道将从一组XML文件样本中派生出DTD(或其他XML结构规范格式)的工具?

目前我们对xml编码DSL的唯一(自动)验证是用Perl编写的遗留解析器,但出于一致性原因,所有perl代码必须移植到C-sharp.

xml dtd

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

DTD与RFDa和XHTML 1.0过渡支持

是否有可用于XHTML 1.0过渡支持和RDFa支持的W3C文档类型?

我知道XHTML + RDFa 1.0(http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd)DTD但是XHTML 1.1与我当前的网站不兼容.似乎还有一个HTML4 + RDFa 1.0(http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd)DTD可用.

我不服务XHTML 1.1的主要原因是Internet Explorer ofcourse,尽管如果没有别的办法,我可能会将它作为文本/ html用于IE用户.

xhtml w3c dtd rdfa xhtml-transitional

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

.NET:阻止XmlDocument.LoadXml检索DTD

我有以下代码(C#),它需要太长时间,它会抛出异常:

new XmlDocument().
LoadXml("<?xml version='1.0' ?><!DOCTYPE note SYSTEM 'http://someserver/dtd'><note></note>");
Run Code Online (Sandbox Code Playgroud)

我明白为什么会那样做.我的问题是如何让它停止?我不关心DTD验证.我想我可以正则代替它,但我正在寻找更优雅的解决方案.

背景:
实际的XML是从我不拥有的网站收到的.当站点正在进行维护时,它返回带有DOCTYPE的XML,该DOCTYPE指向维护期间不可用的DTD.所以我的服务变得不必要,因为它试图为我需要解析的每个XML获取DTD.

这是异常堆栈:

Unhandled Exception: System.Net.WebException: The remote name could not be resolved: 'someserver'
at System.Net.HttpWebRequest.GetResponse()
at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials)
at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
at System.Xml.XmlTextReaderImpl.OpenStream(Uri uri)
at System.Xml.XmlTextReaderImpl.DtdParserProxy_PushExternalSubset(String systemId, String publicId)
at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.PushExternalSubset(String systemId, String publicId)
at System.Xml.DtdParser.ParseExternalSubset()
at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset)
at System.Xml.DtdParser.Parse(Boolean saveInternalSubset)
at System.Xml.XmlTextReaderImpl.DtdParserProxy.Parse(Boolean saveInternalSubset)
at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader …
Run Code Online (Sandbox Code Playgroud)

.net xml dtd

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

未检测到文档的语法约束(DTD或XML架构)(Android)

我和这里有很多相同的问题,但我有xmlns:android和xml = ...标签.我仍然有同样的错误.我不想在设置中单击忽略而不是警告,因此这里发布的问题.

来源是:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


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

错误:

"没有检测到文档的语法约束(DTD或XML模式).grid_layout_test2.xml/SomeProject/res/layout line 1 XML Problem"

xml eclipse validation android dtd xml-parsing

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

使用PHP中的自定义DTD验证XML

是否有一种方法(没有安装任何库)使用PHP中的自定义DTD验证XML?

php xml validation dtd

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

在另一个DTD中包含DTD

是否可以在另一个DTD中包含DTD?(我的意思不是将第二个DTD复制并粘贴到第一个DTD中.我的意思是在第一个DTD中有一个指向第二个DTD的指针.)

xml dtd

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