XML新手,编写XML文档并使用Visual Studio自动生成Schema。我最初开始编写自己的架构。我的问题是,我可以实施任何缺陷或可能的改进吗?我有类型,要求和事件验证,只是好奇听到你经验丰富的人说的话。
XML
<?xml version="1.0" encoding="utf-8" ?>
<university>
<lesson id="ms434">
<subject>Biology</subject>
<maintopic name="Human Biology">
<subtopic>Enlarge Hearts</subtopic>
<subtopic>Heart Valves</subtopic>
</maintopic>
<content>
<sentance>Very long sentance one</sentance>
<sentance>Very long sentance two</sentance>
<sentance>Very long sentance three</sentance>
</content>
</lesson>
</university>
模式
<?xml version="1.0" encoding="utf-8"?>
<xsl:template match="@* | node()">
<html>
<body>
<h1>Professional Training Facilities</h1>
<p>
<strong>University: </strong>
<xsl:for-each select="university/lesson">
<xsl:value-of select="subject"/>
</p>
<br/>
<p>
<strong>Main Topic: </strong>
<xsl:value-of select="maintopic=name"/>
</p>
<br/>
<p>
<strong>Sub Topics: </strong>
<xsl:for-each select="maintopic">
<p>
<xsl:value-of select="subtopic"/>
</p>
</xsl:for-each>
</p>
<p></p>
<strong>Content:</strong>
<xsl:for-each select="content">
<p>
<xsl:value-of select="sentance"/>
</p>
</xsl:for-each>
</xsl:for-each>
<br/>
</body>
</html>
</xsl:template>
当我几乎手动完成Schema时,我确信我的代码少了很少,自动生成是否过多?
编辑:第一个语句的foreach错误,处理修复,这不是问题btw。
答案 0 :(得分:0)
模式是一类文档的描述。从单个文档生成的任何模式都是猜测。例如,如果所有课程元素的长度属性都是整数,则工具可能会猜测它将始终为整数,并为其指定xs:integer类型。但是你可能想要更精确,并使类型为30到60范围内的整数。或者工具可能比你想要的更严格:也许它猜测ID总是5个字符长,当那只是一个意外你的样本数据。因此,无论何时使用这样的模式生成工具,您都需要检查输出并将其更改为描述一类文档,而不仅仅是您的样本。
我不知道VS工具,但是许多这样的工具具有生成模式的样式的选项,例如,局部元素声明与全局元素声明。不同的输出可能是等效的,但其中一些可能允许更多的组件重用或更容易修改。值得尝试不同的选择。