xml-face

The xml-face geometry builder builds simple surface geometries. This builder does not require any data parameters, and will construct the simple surface geometry from existing area geometries. Thus, before the xml-face geometry builder is deactivated, other geometry builders should have been activated, passing their constructed areas to the xml-face geometry builder.

Each of the areas passed to the xml-face geometry builder should share a common plane. The first area accepted forms the outer boundary, and subsequent areas accepted form inner gaps.

builder type: composite - accepts area geometries

geometry constructed: simple surface

data parameters:

Data Name

Value Required/Optional

demote-incomplete-geometry

This Boolean parameter determines if incomplete geometry should be demoted instead of producing an error. If set to true, whenever the geometry builder receives no areas to create a simple surface from, the simple surface will be downgraded to a null geometry. If set to false, whenever the geometry builder receives no areas to create a simple surface from, it will raise an error and terminate the translation.

Range: true|false

Default: false

Optional

coordinate-system

Specifies the coordinate system name. If the expression sequence for the coordinate-system evaluates to the empty string, then the coordinate system for the feature being built will not be set.

Range: String

Optional

name

Specifies the geometry’s name.

Range: String

Optional

create-empty-geom-placeholder

This Boolean parameter determines if an empty face should be created in the absence of areas. If set to true, whenever the geometry builder receives no areas from which to create a simple surface, a surface with no coordinates is created regardless of the value set in demote-incomplete-geometry. If set to false, this parameter has no effect.

Range: true|false

Default: false

Optional

Example: Building a simple surface

simplesurface.xml

<?xml version="1.0"?>
<simplesurface>
	<area>
		0.0,0.0,0.0 5.0,0.0,5.0 5.0,5.0,10.0 0.0,5.0,5.0 0.0,0.0,0.0
	</area>
	<area>
		2.0,2.0,4.0 3.0,2.0,5.0 3.0,3.0,6.0 2.0,3.0,5.0 2.0,2.0,4.0
	</area>
</simplesurface>

simplesurface.xmp

<?xml version="1.0"?>
<xfMap>
	<feature-map>
		<mapping match="simplesurface">
			<feature-type> <literal expr="simplesurface" /> </feature-type>
			<geometry activate="xml-face" />
		</mapping>
	</feature-map>
	<feature-content-map>
		<mapping match="area">
			<geometry activate="xml-area">
				<data name="data-string"> <extract expr="." /> </data>
			</geometry>
		</mapping>
	</feature-content-map>
</xfMap>