Personal tools
You are here: Home / Specifications / BCF Releases / bcfXML v1 / bcf-markup-schema

bcf-markup-schema

This XSD defines the allowed content of the markup file within a BCF exchange

Extensible Markup Language (XML) icon markup.xsd — Extensible Markup Language (XML), 2 kB (2462 bytes)

File contents

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="Markup">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Header" type="Header"/>
				<xs:element name="Topic" type="Topic"/>
				<xs:element name="Comment" type="Comment" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="Header">
		<xs:sequence>
			<xs:element name="File" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Filename" type="xs:string" minOccurs="0"/>
						<xs:element name="Date" type="xs:dateTime" minOccurs="0"/>
					</xs:sequence>
					<xs:attributeGroup ref="FileAttributes"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="Topic">
		<xs:sequence>
			<xs:element name="ReferenceLink" type="xs:string" minOccurs="0" />
			<xs:element name="Title" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="Guid" type="Guid"/>
	</xs:complexType>

	<xs:complexType name="Comment">
		<xs:sequence>
			<xs:element name="VerbalStatus" type="xs:string" minOccurs="0" />
			<xs:element name="Status" type="CommentStatus" default="Unknown"/>
			<xs:element name="Date" type="xs:dateTime"/>
			<xs:element name="Author" type="xs:string"/>
			<xs:element name="Comment" type="xs:string"/>
			<xs:element name="Topic">
				<xs:complexType>
					<xs:attribute name="Guid" type="Guid" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Guid" type="Guid" use="required"/>
	</xs:complexType>

	<xs:simpleType name="Guid">
		<xs:restriction base="xs:string">
			<xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="CommentStatus">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Error"/>
			<xs:enumeration value="Warning"/>
			<xs:enumeration value="Info"/>
			<xs:enumeration value="Unknown"/>
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="IfcGuid" >
		<xs:restriction base="xs:string">
				<xs:length value="22"/>
				<xs:pattern value="[0-9,A-Z,a-z,_$]*"/>
		</xs:restriction>
	</xs:simpleType>
	
	<xs:attributeGroup name="FileAttributes">
	<xs:attribute name="IfcProject"   type="IfcGuid" />
	<xs:attribute name="IfcSpatialStructureElement"   type="IfcGuid" />
	</xs:attributeGroup>
</xs:schema>