草庐IT

simple-schema

全部标签

xml - 术语 "Schema"的说明

我需要一个简单的英文“schema”解释,如数据库架构和XML架构。编辑:当有人说要创建数据库模式时,是否意味着要为表中的字段创建约束? 最佳答案 定义无论您将数据存储在数据库,XML文件还是其他地方,模式都定义了数据的结构。示例假设您使用关系数据库服务器存储公司的数据,并且有一个“客户”表来跟踪每个客户的信息。客户表的架构可能会规定每个客户条目应具有名字,姓氏和电话号码。创建客户条目时,您只能存储这些字段。约束条件模式可以指定字段是可选字段还是必填字段。在此示例中,您可能要求所有这些字段都存在。如果该模式是通过某种机制强制执行的,

xml - XML Schema 1.0 中是否有 <assert> 的替代方案

我在下面有一个XSD文档片段。当XML文件针对此模式进行验证时,我希望确保mm:Depot中的值和mm:Customer/mm:County相同且仅限于Location中的项目类型。这可以在XMLSchema1.1中使用来完成标记,但我必须针对XMLSchema1.0进行验证。是否有一些巧妙的技巧可以使它在1.0中工作?我想要实现的是这样的......OverThereJaneDoeOverThere记下值OverThere出现两次。 最佳答案 您可以使用“参照完整性”。错误可能如下所示:加载[]时出错,第10行位置3“http:/

xml - 如何打开 XML Schema Explorer

我有一个XSD文件,我想从中创建示例XML。我找到了thisansweronSO告诉我使用XMLSchemaExplorer。但是当我在VisualStudio2008SP1中打开我的XSD文件时,我无法找到用于打开XML架构资源管理器的选项。如何打开这个窗口? 最佳答案 在VS2010中:右键单击您现有的.xsd文件并选择“打开方式”。选择“XML架构设计器”然后在出现的模板中,点击“XMLSchemaExplorer”链接。 关于xml-如何打开XMLSchemaExplorer,我

xml - 在 XML Schema 中如何使一个元素成为其自身的子元素?

我希望能够拥有同一父元素的任意级别的嵌套子元素,例如:我正在编写XML模式文件,但我不知道如何在模式中表示这种父/子关系:这是我所拥有的,但它不是有效的模式定义:更新:感谢您的回复。我试过了,但出现以下错误:“w3.org/2001/XMLSchema:complexType”元素在此上下文中不受支持。我应该提到,我所描述的路径层次结构本身是一个名为application的元素的子元素,因此整个结构类似于: 最佳答案 下面应该可以解决问题。XSD标准很难直接使用,我总是使用像LiquidXMLStudio这样的编辑器.(来源:liq

xml - xsd-schema 中的自定义属性

我正在尝试为一些基本但特定的需求制作一个简单的xml编辑器,我不确定如何处理的事情是我希望能够在xsd-schema本身。我的想法是这样的:我想要有关元素在架构中是否“可列出”的信息(请注意,.xml文件没有关于元素是否可列出的信息或线索,可列出属性只是一种方式在编辑器中组织元素)。它不需要是它自己的属性。如果有一个misc属性或者我可以玩的东西就可以了。问题只是上面的模式没有验证(在这种情况下不支持'listable'属性。)有没有办法在模式中存储这种信息?似乎可以创建一个新的命名空间,但我不知道应该如何声明该命名空间,以便任何元素都可以在xsd中具有特殊属性(我宁愿避免弄乱xml文

XML Schema (XSD) - 如何指定父元素包含至少一个子元素?

我有一个XML架构(XSD),它将一个元素定义为强制元素(称为父元素);比方说,这个父元素有五个子元素,它们都可以是可选的,但至少有一个子元素必须出现。我如何在xsd中指定它?澄清一下:子元素是不同的元素并且是可选的。例如。contentsaredifferenttoothersiblingsandarbitrarycanbetext,asimpleelement,oranothercomplexelementetc..etc即使每个child都是可选的,parent也需要至少有一个child。 最佳答案 总是有直接的方法:

xml - xs :redefine and xs:override in XML schema 1. 1 之间的差异

之间有什么区别?和在XML模式1.1中。我面前有两本关于XMLSchema的书,但我仍然无法区分它们。我唯一确定的是两者都是无处不在而且已弃用。 最佳答案 使用重定义你可以扩展或限制一个组件(复杂类型,简单类型、模型组和属性组)。所以,你重用组件的原始定义,您可以扩展或限制它。覆盖允许您替换组件的定义。所以,您创建一个具有相同名称的新组件来替换原始组件定义。您可以覆盖任何顶级命名组件(复杂类型,简单类型,元素声明,属性声明,模型组、属性组和符号)。您可以在此处阅读有关覆盖的更多信息:http://www.w3.org/TR/xmls

xml - 这个 XML Schema 有什么根本性的错误吗?

我对XMLSchema仅有初步的了解。这基本上是我第一次以任何严肃的方式与他们互动,我遇到了一些问题。我已经在谷歌上阅读了关于XSDs的内容,一切都与这个文件有关。这是我加载它的方式:SchemaFactoryschemaFactory=SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);SchemaschemaXSD=schemaFactory.newSchema(newFile("test.xsd"));我遇到如下异常:org.xml.sax.SAXParseException:src-element.3:El

xml - 如何定义xsi :type as an attribute in XML-schema?

我有一个XML,我想为其编写模式定义。问题是我不知道如何将xsi:type定义为属性。这是XML元素:300.0到目前为止,我的XML模式定义如下所示:我也试过像IanRoberts建议的那样定义它:但是,当我使用BPEL设计器像这样初始化它时:300.0我收到以下警告:ThefixedvalueyouentereddoesnotappeartobevalidXML(whichisrequiredforsometypesoffixedvaluestoworkcorrectly).Itwillbesavedinatextformat.如果我这样初始化它就没有警告:300.0但问题是我尝试

xml - 修改xsd :dateTime simple type to use different date-and-time separator

我有一个遗留系统,它生成的XML带有类似于ISO8601的时间戳,但使用空格来分隔日期和时间。例如。2009-12-3100:00:00。我想定义一个模式来定义这些时间戳的可能范围。xsd:dateTime非常适合该目的,但是,它使用T作为日期和时间之间的分隔符。我无法修改遗留系统以使用T作为分隔符返回时间戳。有没有一种方法可以让simpleType定义派生自xsd:dateTime,但会更改分隔符,或者我是否必须依赖具有适当模式的字符串和人类可读的评论?更新:据我所知,我可以使用dateTime的模式来限制输入的dateTime对象的范围,但这不会改变分隔符。例子:这将只允许日期时间