如何在 XML 模式中编写如下注释,并且当我们使用 Oxygen XML 编辑器从 XML 模式生成 XML 时,需要在 XML 中显示该注释。
< THIS is a request for BUSINESS >
Run Code Online (Sandbox Code Playgroud)
以上显示在评论标签中
我正在使用JSON 架构来验证文件。这有点类似于 XML XSD。
我有几个关于id字段的问题。
我对这个问题有点迷失。我知道最好的做法是使用id属性作为每个模式的唯一标识符,并且在创建具有相互引用的不同模式的复杂模式时,这非常有用。
但我不确定我们是否需要为 id 字段分配一个 URL。我也迷失了这个架构的 URL 的含义。
非常感谢您的帮助
以下XML代码段可使用标准XML lib(使用Java和Scala进行过试验)进行分析.
<?xml version="1.0" encoding="UTF-8"?>
<list>
<a>value1</a>
<b>value2</b>
<a>value3</a>
<a>value4</a>
<a>value5</a>
<b>value6</b>
<b>value7</b>
</list>
Run Code Online (Sandbox Code Playgroud)
正如你可以看到'a'和'b'元素是混合的(非确定性的).是否有可能为这种"混合"行为写一个XSD?
我试过了所有的 <xs:all>, <xs:choice>, and <xs:sequence>
这些都不能令我满意.
有谁知道你会如何验证这样的东西.
<Menu>
<SubMenu>
<MenuItem .. />
<MenuItem .. />
<MenuItem .. />
</SubMenu>
<MenuItem .. >
<MenuItem .. >
</Menu>
Run Code Online (Sandbox Code Playgroud)
其中,在<Menu>标签下
<SubMenu>和/或<MenuItem>可以以任何顺序出现任意次数(0-n).但至少其中一个必须至少发生一次.
忽略SubMenu标记内的验证.
非常感谢这件事的任何帮助.
关于targetNamespaceXML模式中的属性如何影响元素的命名,我有点困惑.我收到错误验证以下内容:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="test" version="1.0">
<xs:element name="testType" type="testType"/>
<xs:complexType name="testType">
<xs:sequence>
<xs:element name="testSubtype" type="testSubType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="testSubType">
<!-- some fields -->
</xs:complexType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
XMLSpy说明了Cannot resolve the unqualified declaration or definition 'testSubType'.如何解决这个问题?我需要保留targetNamespace属性.我试着改变testSubType,以test:testSubType在各个领域,但是这似乎并没有工作.
我正在尝试使用我编写的模式验证 xml 文件,但失败并显示以下行:
Element 'Route', attribute '{http://www.w3.org/XML/1998/namespace}space': The attribute '{http://www.w3.org/XML/1998/namespace}space' is not allowed.
Run Code Online (Sandbox Code Playgroud)
XML 文件有时包含以下内容:
<Route xml:space="preserve">
</Route>
Run Code Online (Sandbox Code Playgroud)
这显然是导致问题的原因,我可以对我的 xsd 文件做些什么来解决这个问题?
这是我的 XSD,删除了所有不相关的内容
<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet">
<xs:element name="Route" type="xs:string" minOccurs="0" />
<xs:element name="FurtherRequirements" type="xs:string" minOccurs="0" />
Run Code Online (Sandbox Code Playgroud)
等等等等
非常感谢所有帮助!
我有一个主要的xsd与另一个包含共享类型的xsd(它们在同一目录中).
这是主要的标题:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="XMLSchema_Module.xsd"
xmlns:cs="XML_Common"
targetNamespace="XMLSchema_Module.xsd"
elementFormDefault="qualified">
<xsd:import schemaLocation="XML_Common.xsd" namespace="XML_Common"/>
Run Code Online (Sandbox Code Playgroud)
这是共享类型的标题之一:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="XML_Common"
elementFormDefault="qualified">
Run Code Online (Sandbox Code Playgroud)
这是我想在主模式的属性中使用的共享类型枚举:
<xsd:simpleType name="TypesType">
<xsd:restriction base ="xsd:token">
<xsd:enumeration value="int"/>
Run Code Online (Sandbox Code Playgroud)
以下是主要参考:
<xsd:attribute name="Type" type="cs:TypesType"/>
Run Code Online (Sandbox Code Playgroud)
我正在使用xsd.exe生成序列化类(在构建过程中作为预构建事件集成).这些xsd是使用VisualStudio构建的.
<Exec Command=""C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe" XSchemas\XMLSchema_Module.xsd /c /o:SerializationClasses /n:ScenarioManager" />
Run Code Online (Sandbox Code Playgroud)
我正在翻译我获得的实际信息:
The type XML_Common:TypesType is not declared or is not a simple type.
Run Code Online (Sandbox Code Playgroud)
这似乎是一个进口问题,但我不知道如何解决它.
我想问一下,如果某个元素没有使用XPath查询的属性,有人知道如何进行XSD 1.1条件类型赋值检查,例如:
<!--inline alternative type definitions -->
<element name="TimeTravel" type="TravelType">
<alternative test="@direction='Future'">
<complexType>
<complexContent>
<restriction base="TravelType"
....
<!-- some past travel related elements go here -->
</complexType>
</alternative>
<alternative test="@direction='Past'">
<complexType>
<complexContent>
<restriction base="TravelType"
....
<!-- some future travel related elements go here -->
</complexType>
</alternative>
</element>
OR
<!--Named alternative type definitions -->
<element name="TimeTravel" type="TravelType">
<alternative test="@direction='Future' type="FutureTravelType"/>
<alternative test="@direction='Past' type="PastTravelType"/>
</element>
Run Code Online (Sandbox Code Playgroud)
在此示例中,'alternative test =""'检查TimeTravel元素的属性"direction"是否具有值"Future"或"Past".我应该如何编写XPath查询以检查例如当前元素是否没有"direction"属性?
我在 libxmljs 存储库上发布了一个问题,它被关闭了,因为他们认为这在 lib 级别不是问题。所以我把它贴在这里。
我正在尝试使用 OASIS 提供的 XML 模式验证 XLIFF 文件,但我一直收到 XSD 错误。
错误:Request._callback (/Users/fluxb0x/Tests/xliff_parser/main.js) 处的 Document.validate (/Users/fluxb0x/Tests/xliff_parser/node_modules/libxmljs/lib/document.js:73:17) 处的 XSD 架构无效:25:21) 在 Request.emit (events.js:98:17) 在 Request.emit (events.js:98:17) 在 Request.self.callback (/Users/fluxb0x/Tests/xliff_parser/node_modules/request/request.js:199:22)。(/Users/fluxb0x/Tests/xliff_parser/node_modules/request/request.js:1160:14) 在 IncomingMessage 的 Request.emit (events.js:117:20)。(/Users/fluxb0x/Tests/xliff_parser/node_modules/request/request.js:1111:12) at IncomingMessage.emit (events.js:117:20) at _stream_readable.js:938:16 at process._tickCallback (node. js:419:13)
我已经使用 Oxygen XML 编辑器来测试验证,它没有问题。
这是我导出的 XLIFF 文件:en.xliff
这是 OASIS 提供的 XSD 文件:xliff_schema.xsd
相当大的文件。
感谢您的帮助。
有人能告诉我如何在 XSD 中指定一个元素可以包含任意数量的任意元素吗?例如,如果我有
<person>
<name>Foo</name>
</person>
Run Code Online (Sandbox Code Playgroud)
我想允许在 " <name>" 元素之后的任何元素。
<person>
<name>Foo</name>
<gender>male</gender>
</person>
<person>
<name>Foo</name>
<address>west of here</address>
</person>
<person>
<name>Foo</name>
<address>west of here</address>
<spooge>something else</spooge>
</person>
Run Code Online (Sandbox Code Playgroud)
也就是说,name 元素是必需的,但在那之后,您可以添加任何类型的任意元素。因此,如果这是描述<person>元素的 XSD 元素,那么“ <xs:element name='name' .../>”之后会是什么
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud) xsd-validation ×10
xsd ×8
xml ×6
jsonschema ×1
libxml-js ×1
node.js ×1
oxygenxml ×1
php ×1
schema ×1
xliff ×1
xml-parsing ×1
xpath ×1
xsd-1.1 ×1
xsd.exe ×1