草庐IT

DTD-Validation

全部标签

xml - 使用 DTD 验证 CDATA 元素时出错 - XML

我正在尝试使用我正在编写的DTD验证一些xml,但我总是在具有CDATA数据类型的元素上遇到验证错误。像这样我已经尝试使用textmatexml验证(XMLlint)和在线验证器(w3Schools)进行验证,但我总是收到此错误:error:ContentDecl:Nameor'('expected谁能解释一下这是怎么回事?干杯完整的xml和dtd示例(我从here中获取了这个,所以我希望它是有效的):]>Mike'sStoreXMLMike'sGuideToDTD'sandXMLSchemasMikeJervis 最佳答案 这个例

xml - 扩展 XHTML DTD 以在 ID 属性中使用特殊字符

我想验证作为XHTML扩展的XML模板。ID属性中现在有{、|等特殊字符。是否可以扩展XHTMLDTD以覆盖对ID属性中允许的字符的限制?还是XML规范定义的字符? 最佳答案 您不能使用字符“{”和“|”直接在id属性中,因为在XMLspecification中它说ValuesoftypeIDmustmatchtheNameproduction.AnamemustnotappearmorethanonceinanXMLdocumentasavalueofthistype;i.e.,IDvaluesmustuniquelyidenti

xml - 声明 DTD 元素类型时 "- O"是什么意思?

根据W3CXML规范,元素以以下形式声明:[45]elementdecl::=''[46]contentspec::='EMPTY'|'ANY'|Mixed|childrensample在w3school上是:但是在html4.01strictdtd元素br是:为什么第二个声明要加“-O”?这是什么意思?我在哪里可以找到关于这个的官方文档? 最佳答案 连字符表示必需,O表示可选。所以“-O”表示开始标签是必须的,结束标签是可选的。您可以在§3.3.3中阅读更多内容 关于xml-声明DTD

xml - DTD 根元素

是否可以在内部定义哪个元素将成为DTD中的根元素。换句话说,当DTD在一个单独的文件中时,是否可以定义根元素? 最佳答案 根元素由DOCTYPE声明确定。根元素可以是DTD中的任何元素。例如在下面的DTD(test.dtd)中,book通常是根元素:但是,如果我们在doctype中使用section,则section是根元素:我在外部DTD中使用DOCTYPE声明来直接指定根元素,但我认为规范不允许这样做。我所做的是将DOCTYPE保留在外部DTD中,并从XML文件中删除DOCTYPE。我能够在我使用的程序的命令行上将DTD与XML

xml - DTD与XSD定义的XML语言范围

下列命题成立吗:对于每个dtd,都有一个xsd定义完全相同的语言,而对于每个xsd,都有一个dtd定义完全相同的语言。或者换一种说法:由任何dtd定义的语言集合正是由任何xsd定义的语言集合?稍微扩展一下这个问题:XML文档基本上是一个大字符串。语言是字符串的集合。例如,所有mathml文档的(无限)集合是一种语言,所有rss文档的集合也是如此等等。mathml(rss,…)也是所有xml文档(无限)集的一个适当子集。您可以使用dtd或xsd来定义这样的xml子集。现在,每个DTD都定义了一种语言。但是如果你考虑所有可能的DTD,你会得到一组语言。我的问题是,这个集合是否与您从所有可能

java - 尝试读取 DTD 文件的非验证 DocumentBuilder

为什么非验证DocumentBuilder在SSCCE下面尝试读取DTD文件?publicclassFooMain{privatestaticStringXML_INSTANCE=""+""+"";publicstaticvoidmain(Stringargs[])throwsException{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();factory.setNamespaceAware(false);factory.setValidating(false);DocumentBuilderbui

java - 如何在log4j.xml中使用DTD ENTITY外部引用

我尝试使用来自外部dtd文件的实体。]>log4j-entity.dtd我试过像这样在属性值中使用实体值。我得到这个错误:Theexternalentityreference"&logHome;"isnotpermittedinanattributevalue.我该怎么做?注意:这东西有用.. 最佳答案 需要将内部子集内部的实体做成参数实体,然后引用它。改变:]>到:%logHome;]> 关于java-如何在log4j.xml中使用DTDENTITY外部引用,我们在StackOverf

python - lxml xsi :schemaLocation namespace URI validation issue

我正在尝试使用lxml.etree重现CDAQuickStartGuidefoundhere中的CDA示例.特别是,我在尝试重新创建此元素时遇到了命名空间问题。我使用的代码如下root=etree.Element('ClinicalDocument',nsmap={None:'urn:hl7-org:v3','mif':'urn:hl7-org:v3/mif','xsi':'http://www.w3.org/2001/XMLSchema-instance','{http://www.w3.org/2001/XMLSchema-instance}schemaLocation':'urn

xml - 我可以为 DTD 中的 ELEMENT 结构引用外部 DTD 吗?

我能否定义一个DTD,使其中的元素具有在外部DTD中定义的结构?我的意思是类似于以下内容(这是一个我知道在某些方面无效的示例,但希望它能让您了解我在寻找什么):此处的尝试是表示消息需要MessageHdr和MessageBody,但这两个元素是在外部引用的DTD中定义的。 最佳答案 是的,你的例子非常接近。您只需要引用parameterentities.下面是3个DTD和一个XML实例的示例。我只对MessageHdr和MessageBody使用了#PCDATA,但这可以是您定义的任何结构。消息.dtd%MessageHdr-DTD

c# - 如果缺少 DTD,XML DocumentType 方法 CreateDocumentType 会崩溃 .NET C#

我在生成需要自动生成然后手动上传到客户端站点以进行验证的XML时遇到问题。客户端的规范要求我们在顶部包含DTD声明。也就是所以当我尝试生成XML行时以编程方式XmlDocumentTypedoctype;doctype=doc.CreateDocumentType("TheFile",null,"TheDTD.dtd",null);doc.AppendChild(doctype);失败,它询问我“TheDTD.dtd”应该存在于windows目录中:C:\Windows\System32\inetsrv稍后如果我想阅读XmlDoc行XmlDocumentxmlDoc=newXmlDoc