xsd:include和之间有什么区别xsd:import?你何时会使用一个而不是另一个,什么时候可能没关系?
每当我运行一个以如下开头的XSLT页面时,就会出现标题中的错误:
<?xml version="1.0" encoding="windows-1256"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="../header.xsl"/>
<xsl:template match="/">
<xsl:call-template name="pstyle"/>
<xsl:call-template name="Validation"/>
<xsl:variable name="strLang">
<xsl:value-of select="//lang"/>
</xsl:variable>
<!-- ////////////// Page Title ///////////// -->
<title>
<xsl:value-of select="//ListStudentFinishedExam.Title"/>
</title>
Run Code Online (Sandbox Code Playgroud)
注意:我在第一行之前删除了任何前导空格,但错误仍然存在!
我试图在XSLT中实现if -else语句,但我的代码只是不解析.有没有人有任何想法?
<xsl:variable name="CreatedDate" select="@createDate"/>
<xsl:variable name="IDAppendedDate" select="2012-01-01" />
<b>date: <xsl:value-of select="$CreatedDate"/></b>
<xsl:if test="$CreatedDate > $IDAppendedDate">
<h2> mooooooooooooo </h2>
</xsl:if>
<xsl:else>
<h2> dooooooooooooo </h2>
</xsl:else>
Run Code Online (Sandbox Code Playgroud) 我使用md5 grunt任务生成MD5文件名.现在我想在任务的回调中使用新文件名重命名HTML文件中的源.我想知道最简单的方法是什么.
给定以下XML,如何编写XPath查询以拉出属性所在的节点foo?:
<node1>
<node2>
<node3 foo='bar'></node3>
<node3></node3>
<node3 bar='foo'></node3>
<node3 foo='foobar'></node3>
</node2>
</node1>
Run Code Online (Sandbox Code Playgroud) 由于我们可以从C#(.NET)查询XML文件,为什么我们需要一个XSD文件?我知道它是特定XML文件的元数据文件.我们可以在XSD中指定关系,但它的功能是什么呢?
<?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文档:
<?xml version="1.0" encoding="UTF-8"?>
<records type="array">
<record>
<name>svn</name>
<record-type>A</record-type>
<ttl type="integer">86400</ttl>
<zone-id type="integer">69075</zone-id>
<aux type="integer">0</aux>
<id type="integer">xxx</id>
<active>Y</active>
<data>xxx.xxx.xxx.xxx</data>
</record>
<record>
<name>domain.tld.</name>
<record-type>NS</record-type>
<ttl type="integer">86400</ttl>
<zone-id type="integer">xxx</zone-id>
<aux type="integer">0</aux>
<id type="integer">xxx</id>
<active>Y</active>
<data>domain.tld.</data>
</record>
<record>
<name>blog</name>
<record-type>A</record-type>
<ttl type="integer">86400</ttl>
<zone-id type="integer">xxx</zone-id>
<aux type="integer">0</aux>
<id type="integer">xxx</id>
<active>Y</active>
<data>xxx.xxx.xxx.xxx</data>
</record>
</records>
Run Code Online (Sandbox Code Playgroud)
如何将具有兄弟/记录/记录/记录类型的所有/记录/记录/ 名称与值"A" 匹配?
做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) 文档似乎说它引用了模式中的另一个元素,但是如何使用它 - 我从未在我使用过的模式中看到它.
任何人都有任何好的用例或可以进一步解释其使用的东西?
我试图定义一个包含一个只能包含以下三个值之一的字段的XSD:
本质上,我想在Schema级别定义严格的枚举.
我的第一次尝试看似错误,我不确定解决它的"正确"方法.
<xs:element name="color">
<xs:complexType>
<xs:choice>
<xs:element name="green"/>
<xs:element name="red"/>
<xs:element name="blue"/>
</xs:choice>
</xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
通过使用自动XML生成器,它将这些元素名称视为字符串对象:
<xs0:color>
<xs0:green>text</xs0:green>
</xs0:color>
Run Code Online (Sandbox Code Playgroud)