标签: xsd

用于logback.xml的XML模式或DTD?

我在网上看到过几个关于如何使用XML架构或DTD for logback.xml文件至少在IDEA或Eclipse等IDE中进行非常基本的验证和自动完成的讨论,但我从未见过任何解决方案

你是否?

java xml xsd dtd logback

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

如何使XML模式中的元素可选?

所以我得到了这个XML模式:

<?xml version="1.0"?> <xs:schema version="1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">
    <xs:element name="request">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="amenity">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="description" type="xs:string" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element> </xs:schema>
Run Code Online (Sandbox Code Playgroud)

如何使描述元素可选?因此,带有description元素和不带XML的XML都将针对XSD进行验证.

xml xsd

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

在Python中使用XML模式进行验证

我在另一个文件中有一个XML文件和一个XML模式,我想验证我的XML文件是否符合模式.我如何在Python中执行此操作?

我更喜欢使用标准库的东西,但如果需要,我可以安装第三方软件包.

python xml validation xsd

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

什么是xs:NCName类型以及何时应该使用它?

我通过模式生成器运行了一个xml文件,生成的所有内容都是预期的,除了一个节点:

<xs:element name="office" type="xs:NCName"/>
Run Code Online (Sandbox Code Playgroud)

到底是xs:NCName什么?为什么人们会使用它xs:string呢?

xml xsd xml-namespaces

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

在Visual Studio IDE中使用XSD进行XML验证

我知道我以前做过这个,但今天不行,也找不到解释怎么做的地方.这可能是我的睡眠不足,但我怀疑是小鬼.

我有一个XML文档和一个充满XSD的目录来定义它.如何设置Visual IDE以通知我验证失败,然后在给定的上下文中提供有效标签和属性的智能感知列表?

我尝试过的:

  • 我已经使用XML文档将XSD添加到项目中.
  • 我已将XSD添加到XML Schema列表中(在XML/Schemas ...菜单项下).
  • 我甚至将schemaLocation和noNamespaceSchemaLocation属性包含在XML文档中.

Visual Studio仍然没有放弃任何有用的调试或编辑信息.我试过2010年和2008年(我在2008年之前就已经做过了)

更新:我有另一个开发人员尝试这个,它也失败了.他知道他已经使用其他XML文档完成了它并使其工作.然后我下载了Oxygen XML编辑器,它在相同的XML和XSD文件上运行良好,所以文件看起来很好(或者Oxygen更宽容/更灵活......)

xml intellisense xsd visual-studio xsd-validation

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

XSD文件的用途是什么?

由于我们可以从C#(.NET)查询XML文件,为什么我们需要一个XSD文件?我知道它是特定XML文件的元数据文件.我们可以在XSD中指定关系,但它的功能是什么呢?

XML

<?xml version="1.0" encoding="utf-8" ?>
<Root>
  <Customers>
    <Customer CustomerID="GREAL">
      <CompanyName>Great Lakes Food Market</CompanyName>
      <ContactName>Howard Snyder</ContactName>
      <ContactTitle>Marketing Manager</ContactTitle>
      <Phone>(503) 555-7555</Phone>
      <FullAddress>
        <Address>2732 Baker Blvd.</Address>
        <City>Eugene</City>
        <Region>OR</Region>
        <PostalCode>97403</PostalCode>
        <Country>USA</Country>
      </FullAddress>
    </Customer>
  </Customers>
  <Orders>
    <Order>
      <CustomerID>GREAL</CustomerID>
      <EmployeeID>6</EmployeeID>
      <OrderDate>1997-05-06T00:00:00</OrderDate>
      <RequiredDate>1997-05-20T00:00:00</RequiredDate>
      <ShipInfo ShippedDate="1997-05-09T00:00:00">
        <ShipVia>2</ShipVia>
        <Freight>3.35</Freight>
        <ShipName>Great Lakes Food Market</ShipName>
        <ShipAddress>2732 Baker Blvd.</ShipAddress>
        <ShipCity>Eugene</ShipCity>
        <ShipRegion>OR</ShipRegion>
        <ShipPostalCode>97403</ShipPostalCode>
        <ShipCountry>USA</ShipCountry>
      </ShipInfo>
    </Order>
    <Order>
      <CustomerID>GREAL</CustomerID>
      <EmployeeID>8</EmployeeID>
      <OrderDate>1997-07-04T00:00:00</OrderDate>
      <RequiredDate>1997-08-01T00:00:00</RequiredDate>
      <ShipInfo ShippedDate="1997-07-14T00:00:00">
        <ShipVia>2</ShipVia>
        <Freight>4.42</Freight>
        <ShipName>Great Lakes Food Market</ShipName>
        <ShipAddress>2732 Baker Blvd.</ShipAddress>
        <ShipCity>Eugene</ShipCity>
        <ShipRegion>OR</ShipRegion>
        <ShipPostalCode>97403</ShipPostalCode>
        <ShipCountry>USA</ShipCountry>
      </ShipInfo>
    </Order>
  </Orders>
</Root>
Run Code Online (Sandbox Code Playgroud)

我想Order …

xml xsd

87
推荐指数
10
解决办法
17万
查看次数

XML Schema如何通过枚举限制属性

我有以下XML标记

<price currency="euros">20000.00</price>
Run Code Online (Sandbox Code Playgroud)

如何将currency属性限制为以下之一:

  • 欧元
  • 英镑
  • 美元

和价格加倍?

当我尝试在两者上输入类型时,我只是得到一个错误,这是我到目前为止所得到的:

<xs:element name="price">
    <xs:complexType>
        <xs:attribute name="currency" type="xs:string">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="pounds" />
                    <xs:enumeration value="euros" />
                    <xs:enumeration value="dollars" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

xml xsd

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

elementFormDefault在XSD中做了什么?

elementFormDefault什么,什么时候应该使用?

所以我找到了一些elementFormDefault值的定义:

qualified - 元素和属性位于架构的targetNamespace中

不合格 - 元素和属性没有命名空间

因此,根据该定义,我认为如果将模式设置为限定,那么为什么必须在类型前加上命名空间?那些你甚至有一套不合格的场景是什么?我尝试使用谷歌搜索,但我得到的只是一些非常难以理解的W3C页面.

这是我现在正在使用的文件,为什么我需要声明类型,target:TypeAssignments因为我声明它targetNamespace是同一个xmlns:target

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:target="http://www.levijackson.net/web340/ns"
        targetNamespace="http://www.levijackson.net/web340/ns" 
        elementFormDefault="qualified">
  <element name="assignments">
    <complexType>
      <sequence>
        <element name="assignments" type="target:TypeAssignments"
                 minOccurs="1" maxOccurs="unbounded"/>
      </sequence>
    </complexType>
  </element>
  <complexType name="TypeAssignments">
    <sequence>
      <element name="assignment" type="target:assignmentInfo"
               minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
  </complexType>
  <complexType name="assignmentInfo">
    <sequence>
      <element name="name" type="string"/>
      <element name="page" type="target:TypePage"/>
      <element name="file" type="target:TypeFile" 
               minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <attribute name="id" type="string" use="required"/>
  </complexType>
  <simpleType name="TypePage">
    <restriction base="integer">
      <minInclusive value="50" />
      <maxInclusive value="498" /> …
Run Code Online (Sandbox Code Playgroud)

xml xsd xml-namespaces xml-validation xsd-validation

81
推荐指数
5
解决办法
9万
查看次数

使用Delphi XML数据绑定向导时不存在必需的标记

我在Delphi XE2中使用XML数据绑定向导.架构需要此类型的标记:

<xs:element name="MyReport" type="MyReportType" />
<xs:complexType name="MyReportType">
  <xs:all>
    <xs:element name="Header" type="HeaderType" />
    <xs:element name="Values" type="ValuesType" />
    <xs:element name="Events" type="EventsType" />
  </xs:all>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

问题是,如果我没有向Values-group添加任何元素,则不会有<Values>-tag,并且XML文件将无法针对XSD进行验证.如果接口提供"添加"Values-tag的方法,这可能不会成为问题.

有没有一种标准的处理方法,或者我是否正确使用生成的代码?

简而言之,使用数据绑定向导中的代码,有没有办法,解决方法或其他方式产生以下XML(这是在没有子节点时使用上述模式进行验证所需的),给定HeaderType ,ValuesType和EventsType属于complexType:

<MyReport>
  <Header />
  <Values />
  <Events />
</MyReport> 
Run Code Online (Sandbox Code Playgroud)

(我知道还有其他类似的问题,比如<xs:sequence>在最终的XML文件中没有强制执行正确的顺序而生成的代码,但至少对于那个问题,只需要按照正确的顺序插入子代就可以解决这个问题.我仍然如果Embarcadero提供一个完整的界面,考虑到更多的这些功能,那将会很好.)

xml delphi xsd delphi-xe2

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

使用命名空间进行jQuery XML解析

我是jQuery的新手,想要解析一个xml文档.

我能够使用默认名称空间解析常规XML,但使用xml,例如:

<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
   <s:Schema id="RowsetSchema">
     <s:ElementType name="row" content="eltOnly" rs:CommandTimeout="30">
       <s:AttributeType name="ows_ID" rs:name="ID" rs:number="1">
        <s:datatype dt:type="i4" dt:maxLength="4" />
      </s:AttributeType>
       <s:AttributeType name="ows_DocIcon" rs:name="Type" rs:number="2">
        <s:datatype dt:type="string" dt:maxLength="512" />
      </s:AttributeType>
       <s:AttributeType name="ows_LinkTitle" rs:name="Title" rs:number="3">
        <s:datatype dt:type="string" dt:maxLength="512" />
      </s:AttributeType>
       <s:AttributeType name="ows_ServiceCategory" rs:name="Service Category" rs:number="4">
        <s:datatype dt:type="string" dt:maxLength="512" />
      </s:AttributeType>
    </s:ElementType>
  </s:Schema>
   <rs:data>
    <z:row ows_ID="2" ows_LinkTitle="Sample Data 1" />
    <z:row ows_ID="3" ows_LinkTitle="Sample Data 2" />
    <z:row ows_ID="4" ows_LinkTitle="Sample Data 3" />
  </rs:data>
</xml>
Run Code Online (Sandbox Code Playgroud)

我真正想要的只是他们<z:row>的.

到目前为止,我一直在做:

$.get(xmlPath, {}, function(xml) …
Run Code Online (Sandbox Code Playgroud)

javascript xml jquery xsd namespaces

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