标签: xsd

XSD DataSet并忽略外键

我在使用.NET XSD DataSetTableAdapter功能的当前应用程序中有一个非常标准的表设置.我的contracts表包含一些标准合同信息,以及一个列primary department.这列是一个外键到我的Departments表,我在那里储存基本department name,id,notes.这是我的SQL Server中的所有设置和功能.

当我使用XSD工具时,我可以立即拖动两个表,它会自动检测/创建这两个表之间的外键.当我在主页上查看合同数据时,这非常有用.

但是,当我转到我的管理页面来修改部门数据时.我通常做这样的事情:

Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()

taDepartment.Fill(dtDepartment)
Run Code Online (Sandbox Code Playgroud)

但是,在这一点上抛出异常,说明这里有一个外键引用,我猜是因为我没有Contract DataTable DataSet填充.

我该如何解决这个问题?我知道我可以简单地删除从XSD的外键使事情做工精细,但有没有额外的完整性检查,并具有XSD架构匹配数据库SQL模式是好的.

.net database xsd

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

DTD或XML模式.哪一个更好?

DTD和XML Schema的优点/缺点是什么(我甚至不确定后者的官方名称是什么!)?哪个更好?为什么我们需要两种方法来做同样的事情?

编辑:我在一篇正在阅读的文章中找到了这个,这促使我提出这个问题:

为什么选择W3C XML Schema语言?

W3C XML Schema Language不是唯一的模式语言.事实上,XML规范将文档类型定义(DTD)描述为表达模式的方式.此外,JAXB参考实现的预发布版本仅适用于DTD - 也就是说,不适用于使用XML Schema Language编写的模式.但是,XML Schema Language比DTD更丰富.例如,用XML Schema Language编写的模式可以描述在DTD中无法表达(或不能轻易表达)的结构关系和数据类型.有一些工具可用于将DTD转换为W3C XML模式语言,因此如果您使用的是早期版本的JAXB参考实现中使用的基于DTD的模式,则可以使用这些工具将模式转换为XML模式语言.http://java.sun.com/developer/technicalArticles/WebServices/jaxb/#binsch

我想我想举例说明为什么XML-Schema更好(如果确实如此).

xml xsd dtd

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

xml:如何在.xml文件中引用.xsd文件?

我想在.xsd文件中定义浏览器中的xml文件.请为我检查以下两个文件,并指出我需要做什么.这两个文件位于同一文件夹下.

employee.xml

 <?xml version="1.0"?>

<employee xmlns="http://www.w3schools.com" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="employee.xsd">

  <firstname>John</firstname>
  <lastname>Smith</lastname>
</employee>
Run Code Online (Sandbox Code Playgroud)

的employee.xsd

<xs:element name="employee">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string" fixed="red" />
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

xml xsd

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

Visual Studio 2010:IDE中的XML XSD架构到类

每当我需要从XML XSD架构创建类文件时,我在VS中使用.NET xsd.exe工具和预构建事件,以确保我的类和模式在构建时彼此同步.这当然很好,但是......

我注意到,如果XSD和派生类在同一个项目中,VS会理解该关系,并在解决方案资源管理器中直观地将CS显示为XSD文件的子级.所以我想知道Visual Studio 2010中是否有任何功能可以在IDE中为我执行类创建而不是依赖于预构建脚本?

例如,我会将XSD添加到项目集某些选项中,VS接管并为我创建我的类.

VS 2010是否支持这样的事情?或者我应该停止想知道并继续使用xsd.exe和prebuild.

编辑 我也注意到在XSD文件的属性下我可以选择设置一个Custom Tool,阅读这个看起来接近我的目标,但我不确定这个属性的正确用法.

编辑 此外,如果有解决方案,我需要基于VS2010标配的功能/功能.我宁愿不使用第三方插件等

xml schema xsd class visual-studio-2010

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

XML Schema到C++类

我必须编写一个C++应用程序(使用GUI的Qt框架),它可以编辑存储在xsd模式文件描述的xml文件中的数据.有没有工具将xsd架构转换为C++类?

c++ xml qt xsd code-generation

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

使用已知的XSD从XML读取类型化对象

我有以下(作为示例)XML文件和XSD.

<?xml version="1.0" encoding="utf-8" ?>
<foo>
  <DateVal>2010-02-18T01:02:03</DateVal>
  <TimeVal>PT10H5M3S</TimeVal>
</foo>
Run Code Online (Sandbox Code Playgroud)

version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="foo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="DateVal" type="xs:dateTime" />
        <xs:element name="TimeVal" type="xs:duration" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

然后是以下C#代码:

  static void Main(string[] args)
  {
     XmlDocument xd = new XmlDocument();
     XmlSchema xs;
     using (var fs = File.OpenRead(FilePath + "SimpleFields.xsd"))
     {
        xs = XmlSchema.Read(fs, null);
     }

     xd.Schemas.Add(xs);
     xd.Load((FilePath + "SimpleFields.xml"));
     xd.Validate(null);

     var el_root = xd.DocumentElement;

     var el_date = (XmlElement)el_root.SelectSingleNode("./DateVal");
     //WANTED: el_date.Value = 2010-02-18 01:02:03 (as a DateTime Object) …
Run Code Online (Sandbox Code Playgroud)

c# xml xsd xmldocument compact-framework

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

验证HUGE XML文件

我正在尝试找到一种方法来针对XSD验证大型XML文件.我看到了这个问题......验证XML的最佳方法......但答案都指向使用Xerces库进行验证.唯一的问题是,当我使用该库来验证180 MB文件时,我得到一个OutOfMemoryException.

是否有其他工具,库,策略来验证大于普通的XML文件?

编辑:SAX解决方案适用于java验证,但libxml工具的另外两个建议对于java之外的验证非常有用.

java xml validation xsd

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

如何从XSD文件创建数据库表?

我有一组XSD,我可以从中生成数据访问类,存储过程等等.

我没有的是从这些生成数据库表的方法 - 是否有一个工具可以为我生成DDL语句?

与数据集表中的创建数据库表不同,因为我没有数据集表,而是XSD.

.net sql database xsd code-generation

28
推荐指数
5
解决办法
13万
查看次数

xsd.exe输出文件名

有没有办法从xsd.exe控制输出文件名?

我的具体问题是,如果引用了导入的xsd,则会将其添加到文件名中.

.net xsd xsd.exe

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

如何通过xmllint使用XSD验证XML文件

我必须使用给定的XSD文件验证我的xml文件.想到最简单的方法就是xmllint,但我无法让它工作.谁能告诉我确切的命令?

我试过了:

     xmllint --valid myxsd.xsd myxml.xml
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?这只会在命令行中输出2个文件

编辑:必须在控制台中执行此操作,因为在构建过程中将需要它

xml linux xsd xmllint

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