http://www.w3.org/XML/1998/namespace
http://www.w3.org/XML/1998/namespace
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" xml:lang="en"/>
This schema documentation describes the elements and attributes which are to be used in the catalog and test-set instance documents, and belong to the QT3 test suite (known during development as FOTS).
QT3 derives from the W3C XQuery and XSLT test suites, where we intend to overcome the following problems with the existing test suites:
This schema describes two kinds of file: the master catalog file, rooted at a
catalog
element, and test-set files, which are rooted at a test-set
element. The catalog file contains a sequence of test-set
elements which are
references to the test-set files.
Denotes the root element of the catalog document. The catalog lists all test-sets that are to be run and also contains an environment of assorted schemas and source documents.
<xs:element name="catalog"> <xs:complexType> <xs:sequence> <xs:element ref="environment" minOccurs="1" maxOccurs="unbounded"/> <xs:element name="test-set" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="baseType"> <xs:attributeGroup ref="nameAttr"/> <xs:attributeGroup ref="fileAttr"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="version" type="xs:decimal"> </xs:attribute> <xs:attribute name="test-suite" type="xs:string"> </xs:attribute> </xs:complexType> </xs:element>
Denotes an element which defines an assorted list of schemas and sources documents available to test cases.
In addition the environment may set further information about the static context for running the test.
An environment can be made globally available across all test-sets, or within a particular test-set or within a test-case. Locally-defined environments are considered to have precedence over environments defined at some ancestor node, therefore conflicts are avoided.
An environment that is shared between test cases always has a name (given by its name
attribute).
An environment element within a test case may either be a reference to a shared environment (identified
by its ref
attribute) or a locally-defined environment (with no name
or ref
attributes.
<xs:element name="environment"> <xs:complexType> <xs:complexContent> <xs:extension base="baseType"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="schema"/> <xs:element ref="source"/> <xs:element ref="resource"/> <xs:element ref="param"/> <xs:element ref="context-item"/> <xs:element ref="decimal-format"/> <xs:element ref="namespace"/> <xs:element ref="function-library"/> <xs:element ref="collection"/> <xs:element ref="static-base-uri"/> <xs:element ref="collation"/> </xs:choice> <xs:attributeGroup ref="nameAttr"/> <xs:attributeGroup ref="refAttr"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element>
An element used to supply the static base URI for a query. The uri
attribute
should be an absolute URI.
In the absence of this element, or of a base URI declaration in the query prolog, the static base URI of a query is the file containing the text of the query.
The value uri='#UNDEFINED'
indicates that the test expects the static base URI
to be absent.
<xs:element name="static-base-uri"> <xs:complexType> <xs:attributeGroup ref="uriAttr"/> </xs:complexType> </xs:element>
An element which defines a collation URI used in the query.
The uri
attribute is the collation URI as it actually appears in the XPath expression. There is
a small enumerated set of collation URIs that may appear in tests; these have a meaning
that is defined in the test suite. If the implementation cannot bind arbitrary URIs to
collations, it may substitute this URI in the source expression by a different one having
the same semantics. If the implementation does not support the semantics of the collation,
then it should not run the test (support for collations other than the codepoint collation
is not a conformance requirement.
The default
attribute indicates whether this collation is to be used as the
default collation.
<xs:element name="collation"> <xs:complexType> <xs:attribute name="uri"> <xs:simpleType> <xs:restriction base="xs:anyURI"> <xs:enumeration value="http://www.w3.org/2005/xpath-functions/collation/codepoint"> </xs:enumeration> <xs:enumeration value="http://www.w3.org/2010/09/qt-fots-catalog/collation/caseblind"> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="default" type="xs:boolean" use="optional" default="false"> </xs:attribute> </xs:complexType> </xs:element>
The decimal-format
element allows a decimal format to be defined as part of the
static context for evaluating an XPath expression that calls the format-number() function.
When the decimal-format
element is used in an environment, the test expression
will always be a simple XPath expression. If the test is to be run using an XQuery processor,
the decimal format can be added to the static context either by using the processor's API, or
by constructing a query prolog containing a declare decimal format
declaration and
prepending this to the test expression.
The mechanism is used for testing the format-number() function. As such, the decimal format being defined should always be valid. Tests for invalid decimal formats should be written as XQuery tests with an explicit query prolog (or the equivalent in XSLT).
Test Catalog006 ensures that the decimal-format element is only used in tests that are pure XPath expressions.
<xs:element name="decimal-format"> <xs:complexType> <xs:attribute name="name" type="xs:QName"/> <xs:attribute name="decimal-separator" type="one-char"/> <xs:attribute name="grouping-separator" type="one-char"/> <xs:attribute name="zero-digit" type="one-char"/> <xs:attribute name="digit" type="one-char"/> <xs:attribute name="minus-sign" type="one-char"/> <xs:attribute name="percent" type="one-char"/> <xs:attribute name="per-mille" type="one-char"/> <xs:attribute name="pattern-separator" type="one-char"/> <xs:attribute name="infinity" type="xs:string"/> <xs:attribute name="NaN" type="xs:string"/> </xs:complexType> </xs:element>
A simple type representing a string whose length is exactly one character.
<xs:simpleType name="one-char">
<xs:restriction base="xs:string">
<xs:length value="1"/>
</xs:restriction>
</xs:simpleType>
An element within an environment that declares a variable that can be referenced within test expressions that use this environment.
The test expression will not include a declaration of the variable (so it can be executed if appropriate using XPath). The test driver can add a declaration of the variable to the query prolog if required. If the test expression includes the string "(:%VARDECL%:)" then the variable declaration should be added to replace this string; if it does not include this string, the variable declaration can be added at the start.
<xs:element name="param"> <xs:complexType> <xs:attribute name="name" type="xs:NCName" use="required"/> <xs:attribute name="select" type="xs:string" use="optional"/> <xs:attribute name="as" type="xs:string" use="optional"/> <xs:attribute name="source" type="xs:string" use="optional"/> <xs:attribute name="declared" type="xs:boolean" use="optional" default="false"/> </xs:complexType> </xs:element>
An element within an environment that declares the value of the context item for a query.
The query is called with the value of the select expression as the context item.
<xs:element name="context-item">
<xs:complexType>
<xs:attribute name="select" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
Represents a collection accessible to the collection() function.
The uri
attribute identifies the collection URI. If this is
absent or zero-length, the collection acts as the default collection, used
when no URI is supplied to the collection()
function.
The contained source
elements identify the documents making
up the collection.
An element which provides access to a function library defined for xslt and xquery.
<xs:element name="function-library"> <xs:complexType> <xs:attributeGroup ref="nameAttr"/> <xs:attribute name="xslt-location"/> <xs:attribute name="xquery-location"/> </xs:complexType> </xs:element>
When this element is present in an environment, queries using this environment must have a namespace binding in the static context that binds the specified prefix to the specified namespace URI.
A zero-length prefix denotes the default namespace for elements and types.
All tests using an environment that contains a namespace
element will
be simple XPath expressions, so that the test can be run either under XPath or XQuery.
If the test is run using an XPath processor, the namespace must be declared externally
using the processor's API. If it is run using an XQuery processor, the namespace can
either be declared externally using the processor's API, or a "declare namespace"
declaration can be added to the query prolog. Because the test is guaranteed to be a
simple XPath expression, adding the namespace declaration at the start is straightforward.
Test Catalog005 checks that no test that requires XQuery uses an environment that contains a namespace element.
<xs:element name="namespace"> <xs:complexType> <xs:attribute name="prefix"/> <xs:attribute name="uri"/> </xs:complexType> </xs:element>
An element which provides information about a schema to be used to validate a source document. The scope of the <schema> element is the parent <environment> element in which it appears.
<xs:element name="schema" type="schemaType"> </xs:element>
<xs:complexType name="baseType" abstract="true">
<xs:attribute ref="xml:id"/>
</xs:complexType>
The type definition for the schema
element
<xs:complexType name="schemaType"> <xs:complexContent> <xs:extension base="baseType"> <xs:sequence> <xs:element ref="description" minOccurs="0" maxOccurs="1"/> <xs:element ref="created" minOccurs="0" maxOccurs="1"/> <xs:element ref="modified" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attributeGroup ref="uriAttr"/> <xs:attributeGroup ref="fileAttr"/> <xs:attribute name="xsd-version" type="xs:decimal" default="1.0"/> </xs:extension> </xs:complexContent> </xs:complexType>
An element which provides information about a source xml file used as input to test cases.
The role
and uri
attributes indicate how the source document is made
avaiable to queries (as the context item, as the value of an external variable, or as a URI that can be
supplied to the doc() function.)
The file
attribute gives the relative location of the file containing the XML source.
The scope of the <source> element is the parent <environment> element in which it appears. A validated source document references the schema, which maps to the @id of the Schema element.
<xs:element name="source" type="sourceType"> </xs:element>
defines the type of the source
element.
<xs:complexType name="sourceType"> <xs:complexContent> <xs:extension base="baseType"> <xs:sequence> <xs:sequence> <xs:element ref="description" minOccurs="0" maxOccurs="1"/> <xs:element ref="created" minOccurs="0" maxOccurs="1"/> <xs:element ref="modified" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attributeGroup ref="roleAttr"/> <xs:attributeGroup ref="fileAttr"/> <xs:attributeGroup ref="uriAttr"/> <xs:attributeGroup ref="validationAttr"/> </xs:extension> </xs:complexContent> </xs:complexType>
An element which provides information about a file that can be read as text, used as input to test cases.
The uri
attributes indicate how the resource is made avaiable to queries (as a URI that can be supplied to the unparsed-text(), unparsed-text-lines() and unparsed-text-available() functions.)
The file
attribute gives the relative location of the file containing the resource.
The optional media-type
attribute gives the media type of the resource.
The optional encoding
attribute gives the name of the encoding of the resource.
The scope of the <resource> element is the parent <environment> element in which it appears. A validated source document references the schema, which maps to the @id of the Schema element.
<xs:element name="resource" type="resourceType"> </xs:element>
defines the type of the resource
element.
<xs:complexType name="resourceType"> <xs:complexContent> <xs:extension base="baseType"> <xs:sequence> <xs:sequence> <xs:element ref="description" minOccurs="0" maxOccurs="1"/> <xs:element ref="created" minOccurs="0" maxOccurs="1"/> <xs:element ref="modified" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attributeGroup ref="fileAttr"/> <xs:attributeGroup ref="uriAttr"/> <xs:attributeGroup ref="media-typeAttr"/> <xs:attributeGroup ref="encodingAttr"/> </xs:extension> </xs:complexContent> </xs:complexType>
An element which provides descriptive information about the resource described by its parent element.
<xs:element name="description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
denotes an element which provides a sequence of test-case entries for a particular function. Within this element we provide data needed to run the test for that function.
<xs:element name="test-set"> <xs:complexType> <xs:sequence> <xs:choice maxOccurs="unbounded"> <xs:element ref="description"/> <xs:element ref="link"/> <xs:element ref="environment"/> <xs:element ref="dependency"/> </xs:choice> <xs:element ref="test-case" maxOccurs="unbounded"/> </xs:sequence> <xs:attributeGroup ref="nameAttr"/> <xs:attributeGroup ref="coversAttr"/> </xs:complexType> </xs:element>
Indicates a dependency which must be satisfied in order for a test to be run.
A dependency may be associated with an individual test case or with a test-set. A dependency at the level of a test-set appplies to all test cases in that test-set.
The attribute setting satisfied="false"
indicates that the test should only
be run if the dependency is NOT satisfied.
The set of recognized values appearing in the value
attribute
depends on the content of the type
attribute.
The most commonly-used dependency is on the version of XPath or XQuery. This
is represented by a dependency with type="spec"
whose corresponding
value is, for example value="XQ10+ XP30+"
which indicates that the
test can be run with XQuery 1.0 or later, or XPath 3.0 or later. A test with
value="XQ10"
should be run with an XQuery 1.0 processor only (typically,
an XQuery 3.0 processor will produce a different result, described in a separate
test case.)
denotes an element that contains a test that must be run in a named environment, also contains the expected result and description of the test, including author and creation date.
<xs:element name="test-case"> <xs:complexType> <xs:sequence> <xs:element ref="description"/> <xs:element ref="created"/> <xs:element ref="modified" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="environment" minOccurs="0"/> <xs:element ref="module" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="dependency" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="test"/> <xs:element ref="result"/> </xs:sequence> <xs:attributeGroup ref="nameAttr"/> <xs:attributeGroup ref="coversAttr"/> </xs:complexType> </xs:element>
The content of the element is an XPath or XQuery expression to be evaluated.
As an alternative to providing the content inline, it may be provided in an external
file referenced using the file
attribute. This is done only exceptionally, where (a)
the query is unusually large, or (b) there is a need to test features that can only
be achieved with an external file, for example special encodings.
<xs:element name="test"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="file" type="xs:anyURI" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>
Provides a record of changes made to a test case or other resource over time.
<xs:element name="modified"> <xs:complexType> <xs:attributeGroup ref="byAttr"/> <xs:attributeGroup ref="onAttr"/> <xs:attributeGroup ref="changeAttr"/> </xs:complexType> </xs:element>
Defines an XQuery library module imported by a test case. The module element gives the module URI and the location of the module. The query will contain an "import module" declaration referencing the same module URI, with no "at" location (except where the "at" attribute is being specifically tested, in which case the results are undefined.)
<xs:element name="module"> <xs:complexType> <xs:attribute name="uri" type="xs:anyURI"/> <xs:attribute name="file" type="xs:anyURI"/> </xs:complexType> </xs:element>
denotes an element which provides an <assert> or >error< element pertaining the expected result. Alternatively assertions can appears as a list within <any-of> or <all-of> element. The meaning of these elements are self explantary.
<xs:element name="result"> <xs:complexType> <xs:sequence> <xs:element ref="abstractAssertion"/> </xs:sequence> </xs:complexType> </xs:element>
<xs:complexType name="SequenceOfAssertionsType"> <xs:sequence> <xs:element ref="abstractAssertion" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>
denotes an element which provides a list of assertions. One or more of the assertions needs to prove true for the test to pass, but if all fail then the test fails.
<xs:element name="any-of" type="SequenceOfAssertionsType" substitutionGroup="abstractAssertion"> </xs:element>
denotes an element which provides a list of assertions that must be all satisfied, if any of the assertions proves to be false then the test fails.
<xs:element name="all-of" type="SequenceOfAssertionsType" substitutionGroup="abstractAssertion"> </xs:element>
Abstract superclass for the various kinds of assertion.
<xs:element name="abstractAssertion" abstract="true" type="xs:anyType">
</xs:element>
The assert element contains an XPath expression whose effective boolean value must be true; usually the expression will use the variable $result which references the result of the expression.
For example, <assert>matches(string($result), '[0-9]{3}')</assert>
asserts that the result of the test expression is a three-digit number.
<xs:element name="assert" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> </xs:element>
The assert element contains an XPath expression (usually a simple string or numeric literal) which must be equal to the result of the test case under the rules of the XPath 'eq' operator.
For example, <assert-eq>12</assert-eq>
asserts that the result of the test expression is an atomic value that compares
equal to the integer 12 (which means it might be the double value 12.0 or the
float value 12.0 or the untyped atomic value "12.0", for example).
<xs:element name="assert-eq" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts that the result must be a sequence containing a given number of items. The value of the element is an integer giving the expected length of the sequence.
<xs:element name="assert-count" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:integer"/> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts that the result must be a sequence of atomic values that is deep-equal to the supplied sequence under the rules of the deep-equal() function.
<xs:element name="assert-deep-eq" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts that the result must be a sequence of atomic values that has some permutation (reordering) that is deep-equal to the supplied sequence under the rules of the deep-equal() function.
Note this implies that NaN is equal to NaN.
<xs:element name="assert-permutation" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts the result of the query by providing a serialization of the expression result using the default serialization parameters method="xml" indent="no" omit-xml-declaration="yes".
Previously called assert-serialization. Note that this assertion is not used to test serialization; it is used as a way of supplying the expected results of the query in the form of an XML document.
The assertion is true if the result of parsing and canonicalizing the XML given in the body of the assert-xml element is the same (byte-for-byte) as the result of canonicalizing the XML result of the query. As an alternative to canonicalizing, the results may be compared using the fn:deep-equal() function.
The value will not necessarily be a well-formed document (it may be a fragment). The comparison can be done by converting the string into a well-formed document by adding a wrapper element.
<xs:element name="assert-xml" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attributeGroup ref="fileAttr"/> <xs:attribute name="ignore-prefixes" type="xs:boolean"> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts the result of serializing the query matches a given regular expression.
The result of the query must be serialized using the serialization options specified within the query (if any).
The assertion is true if the output of the serializer (as a string) matches the regular expression, when compared using the matches() function with the specified flags. Note this is not an anchored match, unless anchors are included within the regular expression itself.
Note that the serializer output is treated as a string; we have no way of testing the encoding of serialized output when treated as an octet stream.
<xs:element name="serialization-matches" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attributeGroup ref="fileAttr"/> <xs:attribute name="flags" type="xs:string"> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts that the query can be executed without error, but serializing the result produces a serialization error. The expression result is serialized using the default serialization parameters method="xml" indent="no" omit-xml-declaration="yes".
<xs:element name="assert-serialization-error" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attributeGroup ref="codeAttr"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts that the result of the test is an empty sequence.
<xs:element name="assert-empty" substitutionGroup="abstractAssertion"> </xs:element>
Asserts that the result of the test matches the sequence type given as the value of the assert-type element.
<xs:element name="assert-type" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts that the result of the test is the singleton boolean value true(). Note, the test expression must actually evaluate to true: this is not an assertion on the effective boolean value.
<xs:element name="assert-true" substitutionGroup="abstractAssertion"> </xs:element>
Asserts that the result of the test is the singleton boolean value false(). Note, the test expression must actually evaluate to false: this is not an assertion on the effective boolean value.
<xs:element name="assert-false" substitutionGroup="abstractAssertion"> </xs:element>
Asserts that the result of the test, after conversion to a string by applying the expression string-join(for $r in $result return string($r), " ") is equal to the string value of the assert-string-value element. Note that this test cannot be used if the result includes items that do not have a string value (elements with element-only content; function items) If the normalize-space attribute is present with the value true, then both the string value of the query result and the value of the assert-string-value element should be processed as if by the XPath normalize-space() function before the comparison.
<xs:element name="assert-string-value" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="normalize-space" type="xs:boolean" default="false"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>
Asserts that the test is expected to fail with a static or dynamic error condition. The "code" attribute gives the expected error code.
For the purpose of official test reporting, an implementation is considered to pass a test if the test expects and error and the implementation raises an error, regardless whether the error codes match. Implementors are advised, however, that raising the wrong error code often indicates a problem, so it is advisable to detect this situation. When reporting requirements are finalized, we will be asking implementors to indicate tests which passed but raised a different error, so that we can assess the extent to which implementations are interoperable at the level of error codes.
<xs:element name="error" substitutionGroup="abstractAssertion"> <xs:complexType> <xs:attributeGroup ref="codeAttr"/> </xs:complexType> </xs:element>
denotes an element which provides reference to documentation of the function.
<xs:element name="link"> <xs:complexType> <xs:attributeGroup ref="typeAttr"/> <xs:attributeGroup ref="documentAttr"/> <xs:attribute name="idref" type="xs:NCName"/> <xs:attribute name="section-number"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9A-Z](\.*[0-9]+)*"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element>
denotes an attribute which provides a URI to be used as reference to specification.
<xs:attributeGroup name="documentAttr">
<xs:attribute name="document" type="xs:anyURI"/>
</xs:attributeGroup>
denotes an attribute which in most cases provides a NCName to be used as an error code in the scope of a error element. The attribute gives the local name of the error code; the code is assumed to be in the standard error namespace.
The value "*" indicates that any error code is allowed.
The value may also be an EQName (Q{uri}local) to allow for user-defined error codes
<xs:attributeGroup name="codeAttr"> <xs:attribute name="code"> <xs:simpleType> <xs:union memberTypes="xs:NCName EQName"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="*"/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType> </xs:attribute> </xs:attributeGroup>
Allows a user-defined error code to be expressed in the form Q{uri}local
<xs:simpleType name="EQName">
<xs:restriction base="xs:string">
<xs:pattern value="Q\{.*\}\i\c*"/>
</xs:restriction>
</xs:simpleType>
This attribute provides a URI to be used as location of a resource within the test suite (for example, a source document, a query, a module, or a schema).
The URI will always be relative to the base URI of the XML document in which the attribute appears.
<xs:attributeGroup name="fileAttr">
<xs:attribute name="file" type="xs:anyURI" use="optional"/>
</xs:attributeGroup>
Describes how a source document is made available to the query.
The value "." indicates that the source document will be the context item for the query.
A value in the form $varname
indicates that the source document will
be made available as the value of the external variable $varname
. This variable
will not be declared in the query (this is to allow the mechanism
to be used in XPath). The query will always be such that it is possible to
add declare variable
declarations at the start before compiling the query.
If the source document is to be made available to the query using the doc() function, the "source" element should have a "uri" attribute, and the "role" attribute should be absent.
The "role" attribute should be omitted if the source is part of a collection definition.
<xs:attributeGroup name="roleAttr">
<xs:attribute name="role" type="xs:string" use="optional"/>
</xs:attributeGroup>
An attribute used to provide a string that uniquely names an object within some scope.
<xs:attributeGroup name="nameAttr">
<xs:attribute name="name" type="xs:string"/>
</xs:attributeGroup>
An attribute used to cross-reference tests or test-sets to the changes in the specification that the tests are designed to cover.
The value is syntactically similar to an xs:IDREFS value, in that it contains a space-separated list of change identifiers; however it is not actually an xs:IDREFS value, because the identfiers are in a different XML document, specifically the identifiers of changes appearing in the changes.xml file.
<xs:attributeGroup name="coversAttr">
<xs:attribute name="covers" use="optional">
<xs:simpleType>
<xs:list itemType="xs:NCName"/>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
An attribute used to name the creator of a test-case.
Use of this attribute does not constitute a claim to intellectual property rights.
The recommended form is as a personal name (first name, last name). An institutional name may be used if policy requires it.
<xs:attributeGroup name="creatorAttr">
<xs:attribute name="creator" type="xs:string"/>
</xs:attributeGroup>
denotes an attribute which contains a reference to an object defined elsewhere in the test catalog, for example a reference to a named environment.
Note, this is not typed as xs:IDREF because the reference might be to an object in a different XML document.
<xs:attributeGroup name="refAttr">
<xs:attribute name="ref" type="xs:string"/>
</xs:attributeGroup>
indicates for a source document within an environment whether the source document is to be validated against the schema defined for that environment, and if so whether validation is to be strict or lax.
<xs:attributeGroup name="validationAttr"> <xs:attribute name="validation" type="validationEnumType" use="optional"/> </xs:attributeGroup>
Describes the media type of a resource.
The value should conform to RFC 2046.
<xs:attributeGroup name="media-typeAttr">
<xs:attribute name="media-type" type="xs:string" use="optional"/>
</xs:attributeGroup>
Describes the encoding of a resource.
The value should be that of a character set registered with the Internet Assigned Numbers Authority.
<xs:attributeGroup name="encodingAttr"> <xs:attribute name="encoding" type="encodingType" use="optional"/> </xs:attributeGroup>
<xs:simpleType name="encodingType">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Za-z]([A-Za-z0-9._-])*"/>
</xs:restriction>
</xs:simpleType>
The type
attribute of a dependency
element indicates what type of dependency
it is: the set of possible values is enumerated.
The most common type
is spec
, which indicates a dependency on specific versions of
XPath or XQuery. In this case the corresponding value
attribute is a space-separated list
whose tokens are, for example, "XQ10" indicating XQuery 1.0, "XQ10+" indicating XQuery 1.0 or later,
"XQ30+" indication XQuery 3.0 or later, or "XP20+" indicating XPath 2.0 or later. The tokens in the list
are alternatives; the test may be run if any of the dependencies is satisfied.
Similarly, if the type
is xml-version
, the corresponding value is a space-separated
list whose tokens are "1.0" (XML 1.0), "1.1" (XML 1.1), "1.0:5+" (1.0, 5th edition or later), "1.0:4-" (1.0,
fourth edition or earlier).
<xs:attributeGroup name="typeAttr"> <xs:attribute name="type" type="dependencyEnumType"/> </xs:attributeGroup>
<xs:simpleType name="dependencyEnumType">
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="calendar"/>
<xs:enumeration value="collection-stability"/>
<xs:enumeration value="default-language"/>
<xs:enumeration value="directory-as-collection-uri"/>
<xs:enumeration value="feature"/>
<xs:enumeration value="format-integer-sequence"/>
<xs:enumeration value="language"/>
<xs:enumeration value="limits"/>
<xs:enumeration value="spec"/>
<xs:enumeration value="schemaAware"/>
<xs:enumeration value="unicode-normalization-form"/>
<xs:enumeration value="xml-version"/>
<xs:enumeration value="xsd-version"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="validationEnumType">
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="strict"/>
<xs:enumeration value="lax"/>
<xs:enumeration value="skip"/>
</xs:restriction>
</xs:simpleType>
As an attribute of the dependency
element,
provides a string value to be used to indicate the dependency.
<xs:attributeGroup name="valueAttr">
<xs:attribute name="value" type="xs:string"/>
</xs:attributeGroup>
This attribute provides a URI to be used as an abstract identifier of a resource within the test suite (for example, a source document, or a module). The URI is designed to be independent of the location of the resource.
The URI should always be an absolute URI.
For source documents, the URI can be used in a call to the doc() function to retrieve this source document (so the actual query does not need to know its location.
For modules, the URI defines the module URI and is again independent of location.
For schemas, the URI defines the target namespace URI.
<xs:attributeGroup name="uriAttr">
<xs:attribute name="uri" type="xs:anyURI"/>
</xs:attributeGroup>
The name of the person who created or modified a test-case or source document, schema etc.
<xs:attributeGroup name="byAttr">
<xs:attribute name="by" type="xs:string"/>
</xs:attributeGroup>
The date of an event such as the creation or modification of a test-case.
<xs:attributeGroup name="onAttr">
<xs:attribute name="on" type="xs:date"/>
</xs:attributeGroup>
Textual explanation of a change made to a test-case.
<xs:attributeGroup name="changeAttr">
<xs:attribute name="change" type="xs:string"/>
</xs:attributeGroup>


My passion for photography started since I got my first digital camera when I was eleven. I grew up in the country side in the middle of the Llanos of Colombia surrounded by two amazing things an incredible biodiversity and llanera culture. Those became my main two characters here some samples.
I have also done some filming, on this film I aimed to use the spectacled caiman to show to the viewer a sense of the daily live in the Colombian's eastern flatlands that we call the Llanos. I named the film El llano a los ojos de una babilla which means The llanos by the eyes of a spectacled caiman. I participated with this film on the 2016 competition filminutos del Día Mundial de la Diversidad Biológica directed by the Humbolt institution and I won in the amateur category.


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
T
- the type of the result that this visitor returns
(can be defined as Void
to denote no result}.public interface ObjectVisitor<T>
A visitor that controls an object traversal. Implementations
of this interface are passed to ObjectExplorer
exploration methods.
ObjectExplorer
| Nested Class Summary | |
|---|---|
static class |
ObjectVisitor.Traversal
Constants that denote how the traversal of a given object (chain) should continue. |
| Method Summary | |
|---|---|
T |
result()
Returns an arbitrary value (presumably constructed during the object graph traversal). |
ObjectVisitor.Traversal |
visit(Chain chain)
Visits an explored value (the whole chain from the root object leading to the value is provided), and decides whether to continue the exploration of that value. |
| Method Detail |
|---|
ObjectVisitor.Traversal visit(Chain chain)
In case the explored value is either primitive or null
(e.g., if chain.isPrimitive() || chain.getValue() == null
),
the return value is meaningless and is ignored.
chain
- the chain that leads to the explored value.
Traversal.EXPLORE
to denote that the visited object
should be further explored, or ObjectVisitor.Traversal.SKIP
to avoid
exploring it.T result()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Park home exterior painting in Sussex
We are based in the South of England in East Sussex. Our park home exterior painting team work across Sussex. We take pride in providing a high-quality service. Take a look below at the park home exterior painting services we provide.
Contact us and we'll get back to you within 24 hours.
East Sussex, UK
01323 505 336
enquiries@park-home-repairs.co.uk


Hey there! I love to develope Websites and i do alot of Graphic related stuff. Also i am technology blogger. I love to learn about new Technology. Learning how to convert caffeine to code.


If you've been dreaming of knee-deep powder, sun-drenched mountain terraces, or hot chocolates in quaint alpine chalets, let's we can help you make it happen.
Our group travel planners are the only point of contact you need for everything from flights and accommodation to lift passes, lessons, and restaurant recommendations.
We can give you solid advice on exactly which resort might be the ideal fit for your group, plus provide info on ski conditions and ability levels for every destination.
Need help finding accommodation? We've got you covered with our first-rate chalet, apartment and hotel picks for a ski weekend or a week-long trip.
We also have the lowdown on all the top places to drink, dine and dance in every single resort.
Brunching in Barca, bathing in Budapest or a mad one in Malaga? Group city breaks are the ultimate way to spend time with your loved ones while fitting in some culture.
 We'll nab you accommodation in the best area of your chosen metropolis, sort out flights for the entire group and put together an awesome agenda of activities.
Group city breaks are also ideal for celebrating special occasions and we're bursting with ideas if you're after unique birthday surprises or hilarious stag escapades.
The best bit? Trusting us to book your group travel gives you time to kick back and focus on more important things like planning some killer outfits or figuring out which cocktail you're going to drink first on your city break.
From sandy bays and secluded coves to surf beaches with cresting waves, we can have you packed and ready to go in no time.
Stay in a hip-hotel in the coolest part of town or enjoy quality time in a villa set in its own grounds where you'll have plenty of space to relax, mess around and hang out together.
Whichever your flavour, get in touch over WhatsApp or Messenger with the criteria for your trip and we'll put together the best recommendations for you.
Our group travel planners can help you secure the perfect pad right by the sea, book you tables at top seaside eateries and even suggest some ace things to do beyond the typical tourist traps.
Giving your best friend a proper send off should be your top priority. If you've never planned a stag do before (or you're just keen to outdo yourself since the last one), get in touch.
The packed stag planners combine activity-packed itineraries with sound logistics and the best stag-friendly accommodation around, always tailored to you and your crew.
You're not the same as every other stag group, and this way you can be confident the groom will have the time of his life, and knows he chose the best man.
Girls girls girls! Your girl is engaged – and you know what that means. Double tap that ring pic and let's get planning the hen do. Regardless of whether you consider yourself a control freak or not, planning a hen do can be STRESSFUL.
Give your gal the hen weekend (or week if you're treating yourselves) she truly deserves with our hassle-free holiday handling.
De-stress the bride at a spa in Santorini, hit the slopes in Meribel or plan some legendary nights out in lush Lisbon - the world is your oyster when it comes to hen weekends.
What's more, we can be there every step of the way so you and your ladies can properly let your hair down.
You were trying to impress the boss with your enthusiasm and somehow ended up with the hassle of organising a corporate trip for the whole team. Joy.
Coordinating a work jolly comes with its own set of challenges which, we're guessing, you won't have much time to think about.
Hand over the stress of assessing everyone's availability, figuring out what they want to do and any tedious admin to us instead.Whether you're looking for something active or chilled, budget or high-end, we'll take care of everything, from flights and transfers to any extras or activities you might need.
All you need to do is not get so drunk that you start slagging off your co-workers because the one thing we can't help with is an awkward flight home.
While joining a fitness club or sports team is undoubtedly a great way to stay in shape, it can also be a real winner for your social life - especially if you decide to organise a community trip every once in a while.
Whether you're putting together a fitness-focussed trip to top up your training, or you're simply after an epic way to extend your friendship group, we know what it takes to plan a stress-free group holiday.
What's more, if you're a gym owner, getting a community trip in the calendar is a fantastic way to boost your membership numbers.
Love the sound of a big family reunion? Or maybe you're keen to shake up your annual family getaway? Arranging group holidays where the whole brood is in tow is another one of our areas of expertise.
No matter the ages and interests of your group, our team will be able to customise your family trip so it becomes a definite feature in the family photo albums. We're talking everything from accommodation and transport to awesome activities that'll entertain the kids and free up time for the adults to chill out.
If you've not even got as far as choosing a destination, let us know - we're always raring to go with some ace ideas.
If you've been dreaming of knee-deep powder, sun-drenched mountain terraces, or hot chocolates in quaint alpine chalets, let's we can help you make it happen.
Our group travel planners are the only point of contact you need for everything from flights and accommodation to lift passes, lessons, and restaurant recommendations.
We can give you solid advice on exactly which resort might be the ideal fit for your group, plus provide info on ski conditions and ability levels for every destination.
Need help finding accommodation? We've got you covered with our first-rate chalet, apartment and hotel picks for a ski weekend or a week-long trip.
We also have the lowdown on all the top places to drink, dine and dance in every single resort.
Brunching in Barca, bathing in Budapest or a mad one in Malaga? Group city breaks are the ultimate way to spend time with your loved ones while fitting in some culture.
 We'll nab you accommodation in the best area of your chosen metropolis, sort out flights for the entire group and put together an awesome agenda of activities.
Group city breaks are also ideal for celebrating special occasions and we're bursting with ideas if you're after unique birthday surprises or hilarious stag escapades.
The best bit? Trusting us to book your group travel gives you time to kick back and focus on more important things like planning some killer outfits or figuring out which cocktail you're going to drink first on your city break.
From sandy bays and secluded coves to surf beaches with cresting waves, we can have you packed and ready to go in no time.
Stay in a hip-hotel in the coolest part of town or enjoy quality time in a villa set in its own grounds where you'll have plenty of space to relax, mess around and hang out together.
Whichever your flavour, get in touch over WhatsApp or Messenger with the criteria for your trip and we'll put together the best recommendations for you.
Our group travel planners can help you secure the perfect pad right by the sea, book you tables at top seaside eateries and even suggest some ace things to do beyond the typical tourist traps.
Giving your best friend a proper send off should be your top priority. If you've never planned a stag do before (or you're just keen to outdo yourself since the last one), get in touch.
The packed stag planners combine activity-packed itineraries with sound logistics and the best stag-friendly accommodation around, always tailored to you and your crew.
You're not the same as every other stag group, and this way you can be confident the groom will have the time of his life, and knows he chose the best man.
Girls girls girls! Your girl is engaged – and you know what that means. Double tap that ring pic and let's get planning the hen do. Regardless of whether you consider yourself a control freak or not, planning a hen do can be STRESSFUL.
Give your gal the hen weekend (or week if you're treating yourselves) she truly deserves with our hassle-free holiday handling.
De-stress the bride at a spa in Santorini, hit the slopes in Meribel or plan some legendary nights out in lush Lisbon - the world is your oyster when it comes to hen weekends.
What's more, we can be there every step of the way so you and your ladies can properly let your hair down.
You were trying to impress the boss with your enthusiasm and somehow ended up with the hassle of organising a corporate trip for the whole team. Joy.
Coordinating a work jolly comes with its own set of challenges which, we're guessing, you won't have much time to think about.
Hand over the stress of assessing everyone's availability, figuring out what they want to do and any tedious admin to us instead.Whether you're looking for something active or chilled, budget or high-end, we'll take care of everything, from flights and transfers to any extras or activities you might need.
All you need to do is not get so drunk that you start slagging off your co-workers because the one thing we can't help with is an awkward flight home.
While joining a fitness club or sports team is undoubtedly a great way to stay in shape, it can also be a real winner for your social life - especially if you decide to organise a community trip every once in a while.
Whether you're putting together a fitness-focussed trip to top up your training, or you're simply after an epic way to extend your friendship group, we know what it takes to plan a stress-free group holiday.
What's more, if you're a gym owner, getting a community trip in the calendar is a fantastic way to boost your membership numbers.
Love the sound of a big family reunion? Or maybe you're keen to shake up your annual family getaway? Arranging group holidays where the whole brood is in tow is another one of our areas of expertise.
No matter the ages and interests of your group, our team will be able to customise your family trip so it becomes a definite feature in the family photo albums. We're talking everything from accommodation and transport to awesome activities that'll entertain the kids and free up time for the adults to chill out.
If you've not even got as far as choosing a destination, let us know - we're always raring to go with some ace ideas.


%
WebpAgent is desktop application designed to be easy to use for previewing HTML code.
The source code is hosted on GitHub
WebpAgent is a desktop application that allows us to preview HTML code. It's like a JSFiddle for desktop.
Created with by Ionică Bizău.


Apologies, the madoko server is currently under maintenance...
See madoko.codeplex.com for the latest status


• BSHEEP ($BSHEEP) is a community driven project built on Binance Smart Chain. • BSHEEP brings the most disruptive approach to BSC ecosystem: - A community based project which ensures that holders of $BSHEEP are entitled to receive $BNB through the community pool system.
4% of every transaction contributes towards automatically generating liquidity that goes into Pancakeswap
4% Redistribution in BNB
4% of every buy/sell is taken and redistributed to all BSheep holders.
1% $BSheep Redistribution
1% of every buy/sell is redistributed to all BSheep holders in $BSheep
Tokenomics
Roadmap
FREQUENTLY ASKED QUESTIONS
A: Presale for BSheep will be on DxSale only. If you see BSheep on another platform, it is a copy. Currently there is no whitelist available, so the presale is a first come first serve basis.
A: Trust Wallet uses different websites, such as CoinMarketCap and CoinGecko to pull information from for pricing. Until we are on either website, Trust Wallet will not have a value for BSheep
A: Cryptocurrency, in general, is a risky market. Most do not invest more than they can afford to lose. We have a lot going on in the works! Check out our whitepaper it's the best place to check what we have in store for the future!
A: 4% of every transaction is taken and added to the contract in $BNB. This amount of $BNB is called the reward pool, from which people can claim.
A: All you need to do is hold BSheep and you'll earn a share of the BNB Reward Pool, proportional to the amount of BSheep you hold. On top of that, there is also a 1% reflection which will earn you BSheep and be deposited straight into your wallet!
A: The reward pool works by using the percentage of tokens you hold against the supply. This percentage is used to calcualte the amount of BNB you receieve when you claim. For example: if you hold 1% of the tokens, and the reward pool has 100BNB, when you claim you would receive 1BNB, reducing the reward pool to 99BNB.
If another person also held 1% of the tokens and claimed after you did, they would recieve 0.99BNB, as the reward pool would have been at 99BNB.
A: The collection date syncs to your device, so the timezone will always be your local timezone.
A: Yes. Each buy/sell will push your collection date forward by one day. This is an intended feature to stop people from exploiting the reward pool. Important Note: if you sell your entire wallet, your wallet address will be 'banned', meaning your next claim date will be pushed 50 years forward.
A: The collection date shown is the earliest you can claim next. You can claim 1 minute or 1 day after, it doesn't matter. However, other people will be claiming, meaning there is a chance for the reward pool to be lower than before, which could cause you to claim less. We recommend claiming as soon as you can to ensure to get the most amount of $BNB.
A: The reward pool works by using the percentage of tokens you hold against the supply. This percentage is used to calcualte the amount of BNB you receieve when you claim. For example: if you hold 1% of the tokens, and the reward pool has 100BNB, when you claim you would receive 1BNB, reducing the reward pool to 99BNB.
If another person also held 1% of the tokens and claimed after you did, they would recieve 0.99BNB, as the reward pool would have been at 99BNB.
The only way to implement stacking would be to check the last time they claimed, and increase their percentage accordingly. For example: if you hold 1% of the pool but you miss one daily claim, when you claimed next, it would see that you missed a claim, and increase your percentage. In this example, you would now be at 2%. If you didn't claim for 30 days, and then claimed, your percentage would be at 30%, meaning you could claim 30% of the reward pool. If you decided to wait 100 days, your percentage would be at 100%, so you could empty the reward pool. Because of this exploit, we have not implemented stacking.
A: The amount of BNB that gets distributed is based on percentage. The more $BNB in the reward pool, the more $BNB you can claim for your percentage holdings. The less $BNB in the reward pool, the less $BNB you can claim.
The more people that claim, the less $BNB will be available for everyone else. This is why we recommend claiming as soon as possible.


Register
Username
Username Error
Password
Password Error
Confirm Password
Password Match Error
First Name
First Name Error
Last Name
Last Name Error
Already have an account? Login


I'm A Celebrity: Andy Whyment fears Corrie cast will vote him for every trial
Coronation Street’s Andy Whyment reckons Alan Halsall is about to stitch him right up by getting the cast to vote him in for bushtucker trials on I’m a Celebrity.
Earlier this year, Alan was heavily rumoured to be heading into the jungle, only for Andy to end up becoming a late addition to the show alongside EastEnders star, Cliff Parisi.
But now that he is going in, he reckons he could be in trouble – particularly as he’s now at the mercy of his co-stars, who all have the voting app on their phone.
Speaking ahead of heading into the jungle, Andy said: ‘I know some of my Corrie colleagues and especially Alan Halsall, who plays Tyrone, will vote for me to do the trials.
‘I know he will be telling everyone to vote for me on Twitter!’
Advertisement Advertisement
Well…if he hadn’t thought of it before, he certainly is now!
Andy and Cliff have been thrown in the deep end with their time on I’m a Celebrity, heading straight into a bushtucker trial to win food stars for their new campmates.
In a preview clip from tonight’s episode, Andy is seen getting his hands dirty as he rifles through mountains of rank smelling offal.
Seems we’ve got a psychic in our midst, seeing as ‘putting his hands in things’ was literally the first thing he said he didn’t want to do.
‘I am not looking forward to the eating trials and I am a bit worried about what I will find when you put your hand in something,’ he said.
‘But when you are hungry, you have to do it for your campmates and try your best.’
We’ve got all our fingers crossed for him – especially considering that if he does badly, he’s got a hungry Ian Wright to deal with…
Advertisement Advertisement
I’m a Celebrity…Get Me Out Of Here! Continues weekdays at 9pm on ITV.
Got a showbiz story? If you've got a story, video or pictures get in touch with the Metro.co.uk Entertainment team by emailing us<EMAIL_ADDRESS>calling 020 3615 2145 or by visiting our Submit Stuff page - we'd love to hear from you.


Guide¶
-
class
admin_kit.apps.
AdminKitConfig
(app_name, app_module)[source]¶ App Config that auto discovers ajax module
-
class
admin_kit.ajax.
Ajax
[source]¶ This is the base class for Ajax functionality.
- response_type : str
- The response type of the API. By default its set to
json
, It also acceptstext
. - unique : bool
- If True, the
key
is prepended with class name slug, Thus making it unique per class.
-
classmethod
generate_key
(key, module_cls)[source]¶ A class method that generates key, that maps to the function
If
unique
attribute is true, then it appends hiphen seperated class name to actualkey
Example:
>>> from admin_kit.ajax import Ajax >>> import DummyAjaxClass >>> Ajax.generateKey('the_key', DummyAjaxClass) the_key >>> DummyAjaxClass.unique = True >>> Ajax.generateKey('the_key', DummyAjaxClass) dummy-ajax-class-the_key
-
class
admin_kit.models.
BaseField
(kit_config=None, ajax_source=None, ajax_target=None, ajax_subscribe=False, *args, **kwargs)[source]¶ The Base model field of Admin-Kit models. This inherits Django’s models.Field class.
-
deconstruct
()[source]¶ Deconstructs the field to a tuple of 4 elements. This is used to recreate the same object.
-
formfield
(form_class, choices_form_class=None, **kwargs)[source]¶ Returns the form object to be used for rendering.
-
from_db_value
(value, expression, connection, context)[source]¶ Returns value from the database. inherited models should override this
-
-
class
admin_kit.models.
MultiSelectField
(seperator=', ', *args, **kwargs)[source]¶ The Multiselect model field of Admin-Kit, which allows users to create multi select ajax fields.


This document is intended to explain the process of building the LLVM C/C++ front-end, based on GCC 3.4, from source.
NOTE: This is currently a somewhat fragile, error-prone process, and you should only try to do it if
We welcome patches to help make this process simpler.
Configure and build the LLVM libraries and tools using:
% cd llvm % ./configure [options...] % gmake tools-only
The use of the non-default target "tools-only" means that the LLVM tools and libraries will build, and the binaries will be deposited in llvm/tools/Debug, but the runtime (bytecode) libraries will not build.
Add the directory containing the tools to your PATH.
% set path = ( `cd llvm/tools/Debug && pwd` $path )
Unpack the C/C++ front-end source into cfrontend/src.
Edit src/configure. Change the first line (starting w/ #!) to contain the correct full pathname of sh.
Make "build" and "install" directories as siblings of the "src" tree.
% pwd /usr/local/example/cfrontend/src % cd .. % mkdir build install % set CFEINSTALL = `pwd`/install
Configure, build and install the C front-end:
% cd build % ../src/configure --prefix=$CFEINSTALL --disable-nls --disable-shared \ --enable-languages=c,c++ % gmake all-gcc % setenv LLVM_LIB_SEARCH_PATH `pwd`/gcc % gmake all; gmake install
Common Problem: You may get error messages regarding the fact that LLVM does not support inline assembly. Here are two common fixes:
Fix 1: If you have system header files that include
inline assembly, you may have to modify them to remove the inline
assembly, and install the modified versions in
$CFEINSTALL/target-triplet/sys-include
.
src/libstdc++-v3/config/cpu/name-of-cpu/atomicity.h
and apply a patch so that it does not use inline assembly.Porting to a new architecture: If you are porting the new front-end to a new architecture, or compiling in a different configuration that we have previously, there are probably several changes you will have to make to the GCC target to get it to work correctly. These include:
Go back into the LLVM source tree proper. Edit Makefile.config
to redefine LLVMGCCDIR
to the full pathname of the
$CFEINSTALL
directory, which is the directory you just
installed the C front-end into. (The ./configure script is likely to
have set this to a directory which does not exist on your system.)
If you edited header files during the C/C++ front-end build as
described in "Fix 1" above, you must now copy those header files from
$CFEINSTALL/target-triplet/sys-include
to
$CFEINSTALL/lib/gcc/target-triplet/3.4-llvm/include
.
(This should be the "include" directory in the same directory as the
libgcc.a library, which you can find by running
$CFEINSTALL/bin/gcc --print-libgcc-file-name
.)
Build and install the runtime (bytecode) libraries by running:
% gmake -C runtime % mkdir $CFEINSTALL/bytecode-libs % gmake -C runtime install % setenv LLVM_LIB_SEARCH_PATH $CFEINSTALL/bytecode-libs
Test the newly-installed C frontend by one or more of the following means:
gmake -C
test/Programs


Conversations and Topics of DIT Winter 2015
(Data as of 4/13/15) [ BETA ]
Course Phase:
Why Digital
Business
Summit
Data
Frequency of Popular Terms
Number of Posts including Term
Term Frequency Across Module
Clear Filters


Good_Omens
According to The Nice and Accurate Prophecies of Agnes Nutter, Witch (the world's only completely accurate book of prophecies), the world will end on a Saturday. Next Saturday, in fact. Just before dinner.So the armies of Good and Evil are amassing, Atlantis is rising, tempers are flaring. Everything appears to be going according to Divine Plan. Except Aziraphale, a somewhat fussy angel, and Crowley, a fast-living demon--both of whom have lived among Earth's mortals since The Beginning and have grown rather fond of the lifestyle--are not actually looking forward to the coming war.And someone seems to have misplaced the Antichrist...


What to Check For
Verify that location data is not logged.
Why
Logging location data is likely to raise privacy concerns among users.
How to Check
To verify that location data is not logged:
- Identify whether the application uses location services.
- Determine how location services are used. Trace location data from source to sink and record each operation performed on it.
- Verify that location data is not logged. Examine the trace of location data from source to sink to make sure that location data is not being logged either on the device or on any remote server.
How to Fix
If your application uses location data, do not store it in files and do not send it to remote servers.
Privacy Guidelines
Privacy Checklists


At the core of the Avalon framework is the component. We define it as "a passive entity that performs a specific role". This is important to grasp because it requires a specific way of thinking.
A passive entity must employ a passive API. A passive API is one that is acted upon, versus one that acts itself. See the Inversion of Control pattern for an explanation.
The concept of roles comes from the theater. A play, musical, or movie will have a certain number of roles that actors play. Although there never seems to be a shortage of actors, there are a finite number of roles. I am not going to make reference to different types of roles at this point, but simply bring the concept to light. The function or action of a role is defined by its script.
We are introducing this concept now because you need to have it in mind when you are designing your system architecture. Think of the different roles in your system, and you will have your "cast" of components so to speak.
For each role, you need to specify its script, or interface to the rest of the system. To be honest the interface is not enough. There are specific contracts that you must define and keep in mind when you specify your interfaces. In other words, what users of the component must provide, and what the component produces. When the interfaces and contracts are defined, you can work on your implementation.
John Donne wrote, "No man is an island." to communicate that we are all interdependent. The same is true for the component. That is why there are different concerns regarding the component. In the section on roles we specified one of the concerns: the role. The concerns directly supported by the Avalon Framework are: configuration, external component use, management, and execution.
We used to have a marker interface component. This has been deprecated because requiring all components extend this interface makes integrating Avalon with other component systems like CORBA very cumbersome.
As you might have guessed, each one of these concerns has a separate interface that describes that concern. We will delve deeper into the interfaces and the reasoning behind them in other sections. It is important to know the order of precedence for the concerns so that you know the overall contracts of how they are put together.
- Configurable: marks an object that can be configured.
- Serviceable: marks an object that uses Components.
- Initializable: marks an object that can be initialized.
- Disposable: marks an object that can be disposed.
- Stoppable: marks an object that can be started and stopped.
The contract surrounding this order means that the methods defined by each of those interfaces are called in a specific order by the object that created the component. Each interface represents a narrow view of the component or object being controlled.
Notice that each interface is separate from Component, so you can use them for simple objects.
In Avalon, Serviceable is defined as an active entity that controls or uses components. Its best analogy is that of a musical composer. The musical composer chooses instruments (components) by their role in the symphony (system) and tells them which notes to play.
The Avalon Serviceable follows the principles of Inversion of Control, and is assigned a Service Manager. Within this section we will discuss how to look up specific components, and then how to prepare the ServiceManager for the Serviceable.
compose
method must ignore all subsequent
requests to set the ServiceManager after it is successfully set.
For the majority of all cases, you will need to use the ServiceManager to get the instance of the component you need. If you recall the discussion on component roles in the component documentation, you already have a head start. In Avalon, roles are defined by the work interface a component has. A work interface is different from any other interface because it is the interface that defines the component's role. Serviceable and Component are concern interfaces because they address specific concerns about the component.
The ServiceManager has one method to retrieve all of your components.
The lookup
method will look up the component based on the
fully qualified name (FQN) of the work interface (Role). See the following
example:
final MyComponent component = (MyComponent)manager. lookup( "com.mycompany.myproject.MyComponent" );
It is important to note that role is not the same thing as functional equivalence. In other words, if you have a MailSpooler that is functionally equivalent to a FileStore (they do the same thing), it does not mean that they perform the same role. The FileStore is used to store objects to files, and the MailSpooler is used to temporarily store messages until they are sent. Thus they are separate roles. Some containers require that the interface name match the key used to lookup component. In this situation you may need to create a new interface that does nothing more than extend another interface and add a new role.
Sometimes you will have several components that function in the same role. For those cases, you will use the ServiceSelector to choose the exact one you need. The best way to describe its proper use is the scenario described here. You have several formatters that have the same role: to take an input document and format it according to the rules in the individual component implementations. One formatter may take a text file and remove all tabs and replace them with four spaces. Another formatter may reverse the formerly mentioned one. Yet another takes the text file and formats it for a canvas object. For the Serviceable, it makes no difference what the implementation does--just that it formats the text.
Using the processing chain example in the previous paragraph, we realize the unsuitability of the ServiceManager for getting the right component. The component addresses the concern of one component per role. Fortunately, the ServiceSelector is a component. That means we use the ServiceManager to lookup the ServiceSelector. The ServiceSelector is designed to choose the specific component out of many that perform the same role. The following code will help:
final ServiceSelector selector = (ServiceSelector)manager. lookup( "org.mycompany.myproject.FormatterSelector" ); final Formatter formatter = (Formatter)selector.select( myURL );
The selector does not discriminate against lookup keys. In that respect it acts much like a hashtable lookup. Keep in mind that the implementation of the selector does not limit you to a hashtable lookup--you can dynamically instantiate objects as well. It takes an object (a hint), and returns the specific component based on that hint.
Discussions are currently taking place about the ServiceSelector interface and concept. It might be deprecated at some point in the future. There are indications that usage of the ServiceSelector is only required when an application is badly designed.
Both the ServiceManager and the ServiceSelector require you to release your component when you are done with it. The method used to do this is "release". One way of handling this is to use the try/catch/finally construct. For your convenience, the following code can help:
MyComponent component = null; try { component = (MyComponent) manager.lookup("org.mycom.MyComponent"); component.myMethod(); } catch (Exception e) { getLogger().debug("Error using MyComponent", e); } finally { if (component != null) manager.release(component); }
The reason for this is so that smart component managers that select components from a pool can properly manage the resources.
It is the responsibility of the entity that creates the Serviceable to give it a ServiceManager with all of the Roles populated. If you create your own implementations of the ServiceManager and ServiceSelector then you have the liberty of deciding how to populate them. Keep in mind that there are default implementations included, and you should model their behavior as much as possible.
The DefaultComponentManager is nothing more than a Hashtable lookup of roles
and Components. It even gives you the method put
to populate
the ServiceManager. One feature of the DefaultComponentManager is that
it can cascade. In other words, if the role is not found in this ServiceManager,
the default implementation will look in the parent ServiceManager.
For the paranoid developer, the cascading feature of the ServiceManager can be seen as a security hole as opposed to a usability enhancement. You are free to create your own implementation that does not use the cascading feature--but you have to manually populate it with anything that would have been in the parent ServiceManager that your child Serviceable needs. Truth be told, there is very little risk due to the set-once contract for ComponentManagers. The method is never exposed to hostile agents before the ServiceManager is set.
The DefaultComponentSelector again is simply a Hashtable selection of components
based on hints. It gives the method put
to populate the ServiceSelector.
The ServiceSelector does not have the cascading feature of the ServiceManager,
nor should it. A ServiceSelector simply holds a number of components that
implement the same role--there really is no need to cascade.
After the ServiceSelector is populated, you must put it in the ServiceManager. Please use the role of the component you are selecting, not the role of the selector itself. An acceptable convention is to add the "Selector" name to the end of the role you are looking up. Just be consistent.
The container is the entity that manages your components. It handles things like loading of configuration files, resolution of dependencies, component management, component isolation, and lifecycle support.
The container is not formalized in the form of an interface or contract within Avalon Framework, though it might be at some point in the future. The informal contract for the container is that it has the ability to host any fully Avalon-Framework compliant component. Most current containers place additional requirements on the component.


During the OSG Virtual School Showcase, three different researchers shared how high throughput computing has made lasting impacts on their work.
By Josephine Watkins
Over 40 researchers and campus research computing staff were selected to attend this year’s OSG Virtual School, all united by a shared desire to learn how high throughput computing can advance their work. During the first two weeks of August, school participants were busy attending lectures, watching demonstrations, and completing hands-on exercises; but on Wednesday, August 11, participants had the chance to hear from researchers who have successfully used high throughput computing (HTC) to transform their work. Year after year, this event –– the HTC Showcase –– is one highlight of the experience for many User School participants. This year, three different researchers in the fields of structural biology, psychology, and particle physics shared how HTC impacted their work. Read the articles below to learn about their stories.
Scaling virtual screening to ultra-large virtual chemical libraries – Spencer Ericksen, Carbone Cancer Center, University of Wisconsin-Madison
Using HTC for a simulation study on cross-validation for model evaluation in psychological science – Hannah Moshontz, Department of Psychology, University of Wisconsin-Madison
Antimatter: Using HTC to study very rare processes – Anirvan Shukla, Department of Physics, University of Hawai’i Mānoa
Collectively, these testimonies demonstrate how high throughput computing can transform research. In a few years, the students of this year’s User School might be the next Spencer, Hannah, and Anirvan, representing the new generation of researchers empowered by high throughput computing.
…
Visit the materials page to browse slide decks, exercises, and recordings of public lectures from OSG Virtual School 2021.
Established in 2010, OSG School, typically held each summer at the University of Wisconsin–Madison, is an annual education event for researchers who want to learn how to use distributed high throughput computing methods and tools. We hope to return to an in-person User School in 2022.


musical latency musicians auditory ability visual processing cognitive ERP test (ms) different group results {border-style pitch subjects habituation px;} score training #ffffff;} studies music non-musicians stimuli stimulus event-related evoked absolute latencies shown Seashore showed significantly differences higher potentials study target ability. correlation measured non-musicians. used Musical amusia brain groups pitch, presented processing. px; response shorter time tones visually {font-family < Table Zerssen amplitude associated certain decreased did faster font-size mean memory study, tests .). Brain Music Neurosci able analysis aspects children double; high musicians, normal oddball people reaction result second significant total (i.e., ERP, Pantev border-color border-width choice compared difference discrimination improved means measure melodies migraine music, non-musician non-target plasticity practice-induced recording scores similar small solid; testing tone working years {font-style {font-weight Correlation EEG Effects Evers Hantz Musicians Seashore-test Significance Trainor bold changes components cortical courier; duration em; enhanced evidence experiment fast important interval leads lessons level loss measures melodic mental musician musicians. musicians’ paradigm phrase previous pt;} relevant separately stimuli. structural suggest test,


--- layout: post title: W3C processes date: 2008-11-29 00:00:00 categories: digital-media personal social software-development ---
I posted back in September that I'd been invited to join the W3C Mobile Web Best Practices Group, specifically to work in the Content Transformation (CT) "task force": which is every bit as macho and manly as it sounds.
The document we're writing is coming along (contentious though it may be), but abstract of the document, I've wanted to write a post about the process of working in the group. It's my first experience of being inside a technical standards body, so I've found the processes and tools interesting in and of themselves.
The CT group operates in public, mainly on the public-bpwg-ct mailing list.
Once a week there's a conference call, typically with anything between 3 and 8 attendees, and usually chaired by Francois Daoust. In tandem with the voice call, all participants are in an IRC channel; here, a couple of bots are active. Zakim is the one I tend to notice the most, providing a bridge between the voice call and the channel. So, when a participant dials in or drops off, Zakim recognises them and announces their arrival in the channel. If there's noise on the call coming from one participant, Zakim can tell where it's originating - that kind of thing.
On each call, there's a volunteer scribe; I took on this job myself on the most recent call. The scribe is charged with typing what's said on the call into the channel; another bot records these notes and uses them to create minutes which are published to the mailing list after the call is done.
One interesting little tweak is the use of a bot to substitute for gestures that might be used in face-to-face meetings. By typing
/q+ to say we should point our orbiting lasers at Italy
one places oneself onto the "speakers queue", maintained by one of the bots, with a reminder of what one was about to say. This queue can then be accessed and speakers popped off it as necessary, giving them permission to speak: so in this sense, IRC substitutes for the raising of a hand or eye contact. It's surprising how well this works.
Off-the-record comments and notes can be recorded using the "action" method in IRC:
/me thinks we should hurry up with the goat sacrifice
Another bot tracks the creation of actions and resolutions, such that the group can create tasks to be done and assign them to a member, and record decisions taken and voted upon.
Last Call comments are, in particular, tracked quite exhaustively into a web-based tool. Every one is assigned to a member of the group who is charged with summarising the issue, doing any necessary research, and then recommending a course of action. During the call these comments are discussed; typically this leads to either a resolution or a decision to gather more information (from research carried out by group members into the area being discussed, from other W3C groups, or elsewhere).
It's interesting. There's no monolithic tool handling everything, and there's a vague sense of duct-tape lurking in the background, but it all hangs together rather nicely, in a quirky way, and feels quite human - a bit like the web in general, I guess.


Welcome to the admin panel.
repeatinvoicesdue > 1) { ?> There are repeatinvoicesdue ?> invoices due for repeating today. There is one invoice due for repeating today.


directory
IncludeRubeus headers directory. Also includes Awerere headers.
Contents
- Reference
Files
- file audio_manager_component.h
- Declares the Audio Manager class.
- file awerere_box_collider_object.h
- Declares the box collider class, used by Awerere.
- file awerere_collide_data_object.h
- Declares the Collide data class.
- file awerere_collider_object.h
- Declares the Collider class.
- file awerere_collision_engine.h
- Declares the collision engine.
- file awerere_collision_grid.h
- Declares the collision grid used for broadphase resolution.
- file awerere_flag.h
- Declares the Collision flag class.
- file awerere_hit_event_list.h
- Declares the Hit event list class.
- file awerere_physics_engine.h
- Declares the Physics Engine.
- file awerere_physics_material.h
- Declares the Physics Material structure.
- file awerere_plane_collider_object.h
- Declares the Plane collider class.
- file awerere_sphere_collider_object.h
- Declares the Sphere Collider class.
- file buffer_object.h
- Declares the RBuffer class.
- file engine.h
- Declares the Rubeus Engine containing class.
- file entity_object.h
- Declares the Entity class.
- file game_object.h
- Declares the Game object class.
- file group_object.h
- Declares the group structure.
- file guerrilla_renderer_component.h
- Declares the guerrilla renderer component class.
- file image_object.h
- Declares the Rubeus compliant image object.
- file index_buffer_object.h
- Declares the Index buffer class.
- file input_manager.h
- Declares the Input Manager class.
- file keys.h
- Defines the input keys enumerations used by Input Manager.
- file layer_composition_object.h
- Declares the Layer composition class.
- file layer_object.h
- Declares the layer class.
- file level.h
- Declares the Level class.
- file master_component.h
- Declares the master class.
- file message_bus.h
- Declares the message bus class.
- file message_codes.h
- Contains all message codes for messaging.
- file message_object.h
- Declares the message object and message commands.
- file message_system.h
- Declares the message system class.
- file nvidia_enable.h
- Allows rendering on the dedicated NVIDIA GPU.
- file renderable_object.h
- Declares the renderable object class.
- file renderer_component.h
- Declares the renderer component abstract class.
- file rubeus_maths_library.h
- Declares the RML (Rubeus Maths Library)
- file scene_layer_object.h
- Declares the Scene Layer.
- file shader_component.h
- Declares the shader component class.
- file simple_renderer_component.h
- Declares the simple renderer.
- file sprite_object.h
- Declares the sprite class.
- file static_sprite_object.h
- Declares the static sprite class.
- file texture_object.h
- Declares the RTexture class.
- file timer_component.h
- Declares the timer component class.
- file ui_layer_object.h
- Declares the UI layer class.
- file vertex_array_object.h
- Declares the vertex array class.
- file window_component.h
- Declares the window class and error callbacks for GLFW.
- file world.h
- Declares the world class.


Psalms 16:3
But to the saints that are in the earth, and to the excellent, in whom is all my delight.


git-lfs-config
- Configuration options for git-lfs
git-lfs reads its configuration from a file called .lfsconfig
at the root of
the repository. The .lfsconfig
file uses the same format as .gitconfig
.
Additionally, all settings can be overridden by values returned by git config -l
.
This allows you to override settings like lfs.url
in your local environment
without having to modify the .lfsconfig
file.
Most options regarding git-lfs are contained in the [lfs]
section, meaning
they are all named lfs.foo
or similar, although occasionally an lfs option can
be scoped inside the configuration for a remote.
lfs.url
/ remote.<remote>.lfsurl
The url used to call the Git LFS remote API. Default blank (derive from clone URL).
lfs.pushurl
/ remote.<remote>.lfspushurl
The url used to call the Git LFS remote API when pushing. Default blank (derive from either LFS non-push urls or clone url).
lfs.dialtimeout
Sets the maximum time, in seconds, that the HTTP client will wait to initiate a connection. This does not include the time to send a request and wait for a response. Default: 30 seconds
lfs.tlstimeout
Sets the maximum time, in seconds, that the HTTP client will wait for a TLS handshake. Default: 30 seconds.
lfs.activitytimeout
/ lfs.https://<host>.activitytimeout
Sets the maximum time, in seconds, that the HTTP client will wait for the next tcp read or write. If < 1, no activity timeout is used at all. Default: 30 seconds
lfs.keepalive
Sets the maximum time, in seconds, for the HTTP client to maintain keepalive connections. Default: 30 minutes.
core.askpass
, GIT_ASKPASS
Given as a program and its arguments, this is invoked when authentication is needed against the LFS API. The contents of stdout are interpreted as the password.
lfs.cachecredentials
Enables in-memory SSH and Git Credential caching for a single 'git lfs' command. Default: enabled.
lfs.storage
Allow override LFS storage directory. Non-absolute path is relativized to
inside of Git repository directory (usually .git
).
Note: you should not run git lfs prune
if you have different repositories
sharing the same storage directory.
Default: lfs
in Git repository directory (usually .git/lfs
).
These settings control how the upload and download of LFS content occurs.
lfs.concurrenttransfers
The number of concurrent uploads/downloads. Default 8.
lfs.basictransfersonly
If set to true, only basic HTTP upload/download transfers will be used, ignoring any more advanced transfers that the client/server may support. This is primarily to work around bugs or incompatibilities.
The git-lfs client supports basic HTTP downloads, resumable HTTP downloads
(using Range
headers), and resumable uploads via tus.io protocol. Custom
transfer methods can be added via lfs.customtransfer
(see next section).
However setting this value to true limits the client to simple HTTP.
lfs.tustransfers
If set to true, this enables resumable uploads of LFS objects through the tus.io API. Once this feature is finalized, this setting will be removed, and tus.io uploads will be available for all clients.
lfs.standalonetransferagent
Allows the specified custom transfer agent to be used directly
for transferring files, without asking the server how the transfers
should be made. The custom transfer agent has to be defined in a
lfs.customtransfer.<name>
settings group.
lfs.customtransfer.<name>.path
lfs.customtransfer.<name>
is a settings group which defines a custom
transfer hook which allows you to upload/download via an intermediate process,
using any mechanism you like (rather than just HTTP). path
should point to
the process you wish to invoke. The protocol between the git-lfs client and
the custom transfer process is documented at
https://github.com/git-lfs/git-lfs/blob/master/docs/custom-transfers.md
name must be a unique identifier that the LFS server understands. When calling the LFS API the client will include a list of supported transfer types. If the server also supports this named transfer type, it will select it and actions returned from the API will be in relation to that transfer type (may not be traditional URLs for example). Only if the server accepts name as a transfer it supports will this custom transfer process be invoked.
lfs.customtransfer.<name>.args
If the custom transfer process requires any arguments, these can be provided here.
lfs.customtransfer.<name>.concurrent
If true (the default), git-lfs will invoke the custom transfer process
multiple times in parallel, according to lfs.concurrenttransfers
, splitting
the transfer workload between the processes.
lfs.customtransfer.<name>.direction
Specifies which direction the custom transfer process supports, either "download", "upload", or "both". The default if unspecified is "both".
lfs.transfer.maxretries
Specifies how many retries LFS will attempt per OID before marking the transfer as failed. Must be an integer which is at least one. If the value is not an integer, is less than one, or is not given, a value of eight will be used instead.
lfs.transfer.maxverifies
Specifies how many verification requests LFS will attempt per OID before marking the transfer as failed, if the object has a verification action associated with it. Must be an integer which is at least one. If the value is not an integer, is less than one, or is not given, a default value of three will be used instead.
lfs.allowincompletepush
When pushing, allow objects to be missing from the local cache without halting a Git push. Default: true.
lfs.fetchinclude
When fetching, only download objects which match any entry on this comma-separated list of paths/filenames. Wildcard matching is as per git-ignore(1). See git-lfs-fetch(1) for examples.
lfs.fetchexclude
When fetching, do not download objects which match any item on this comma-separated list of paths/filenames. Wildcard matching is as per git-ignore(1). See git-lfs-fetch(1) for examples.
lfs.fetchrecentrefsdays
If non-zero, fetches refs which have commits within N days of the current date. Only local refs are included unless lfs.fetchrecentremoterefs is true. Also used as a basis for pruning old files. The default is 7 days.
lfs.fetchrecentremoterefs
If true, fetches remote refs (for the remote you're fetching) as well as local refs in the recent window. This is useful to fetch objects for remote branches you might want to check out later. The default is true; if you set this to false, fetching for those branches will only occur when you either check them out (losing the advantage of fetch --recent), or create a tracking local branch separately then fetch again.
lfs.fetchrecentcommitsdays
In addition to fetching at refs, also fetches previous changes made within N days of the latest commit on the ref. This is useful if you're often reviewing recent changes. Also used as a basis for pruning old files. The default is 0 (no previous changes).
lfs.fetchrecentalways
Always operate as if --recent was included in a git lfs fetch
call. Default
false.
lfs.pruneoffsetdays
The number of days added to the lfs.fetchrecent*
settings to determine what
can be pruned. Default is 3 days, i.e. that anything fetched at the very
oldest edge of the 'recent window' is eligible for pruning 3 days later.
lfs.pruneremotetocheck
Set the remote that LFS files must have been pushed to in order for them to be considered eligible for local pruning. Also the remote which is called if --verify-remote is enabled.
lfs.pruneverifyremotealways
Always run git lfs prune
as if --verify-remote
was provided.
lfs.extension.<name>.<setting>
Git LFS extensions enable the manipulation of files streams during smudge and
clean. name
groups the settings for a single extension, and the settings
are:
clean
The command which runs when files are added to the indexsmudge
The command which runs when files are written to the working copypriority
The order of this extension compared to otherslfs.<url>.access
Note: this setting is normally set by LFS itself on receiving a 401 response (authentication required), you don't normally need to set it manually.
If set to "basic" then credentials will be requested before making batch requests to this url, otherwise a public request will initially be attempted.
lfs.<url>.locksverify
Determines whether locks are checked before Git pushes. This prevents you from pushing changes to files that other users have locked. The Git LFS pre-push hook varies its behavior based on the value of this config key.
null
- In the absence of a value, Git LFS will attempt the call, and warn
if it returns an error. If the response is valid, Git LFS will set the value
to true
, and will halt the push if the user attempts to update a file locked
by another user. If the server returns a 501 Not Implemented
response, Git
LFS will set the value to false.
true
- Git LFS will attempt to verify locks, halting the Git push if there
are any server issues, or if the user attempts to update a file locked by
another user.false
- Git LFS will completely skip the lock check in the pre-push hook.
You should set this if you're not using File Locking, or your Git server
verifies locked files on pushes automatically.Supports URL config lookup as described in:
https://git-scm.com/docs/git-config#git-config-httplturlgt. To set this value
per-host: git config --global lfs.https://github.com/.locksverify [true|false]
.
lfs.skipdownloaderrors
Causes Git LFS not to abort the smudge filter when a download error is encountered, which allows actions such as checkout to work when you are unable to download the LFS content. LFS files which could not download will contain pointer content instead.
Note that this will result in git commands which call the smudge filter to report success even in cases when LFS downloads fail, which may affect scripts.
You can also set the environment variable GIT_LFS_SKIP_DOWNLOAD_ERRORS=1 to get the same effect.
GIT_LFS_PROGRESS
This environment variable causes Git LFS to emit progress updates to an absolute file-path on disk when cleaning, smudging, or fetching.
Progress is reported periodically in the form of a new line being appended to the end of the file. Each new line will take the following format:
<direction> <current>/<total files> <downloaded>/<total> <name>
Each field is described below:
direction
: The direction of transfer, either "checkout", "download", or
"upload".current
The index of the currently transferring file.total files
The estimated count of all files to be transferred.downloaded
The number of bytes already downloaded.total
The entire size of the file, in bytes.name
The name of the file.GIT_LFS_SET_LOCKABLE_READONLY
lfs.setlockablereadonly
These settings, the first an environment variable and the second a gitconfig
setting, control whether files marked as 'lockable' in git lfs track
are
made read-only in the working copy when not locked by the current user.
The default is true
; you can disable this behaviour and have all files
writeable by setting either variable to 0, 'no' or 'false'.
The .lfsconfig file in a repository is read and interpreted in the same format as the file stored in .git/config. It allows a subset of keys to be used, including and limited to:
git config -f .lfsconfig lfs.url https://lfs.example.com/foo/bar/info/lfs
git-config(1), git-lfs-install(1), gitattributes(5)
Part of the git-lfs(1) suite.


{% block head %}
Hi there, my name's Darren. I'm a technologist.
I currently work in Freiburg, Germany at Fraunhofer EMI where I design, build and test nanosatellites. When I'm not making a mess in the lab, you will find me making music, brewing beer, cooking with friends, playing basketball, walking around in the forest, or sleeping.


[gecode-users] Scheduling
Alin
alin_pt at yahoo.com
Sat May 28 12:48:32 CEST 2011
Hi,
I am trying different ways of modeling scheduling problems,
and I have used cumulatives quite a lot because it has multiple resources,
and solves a large part of my problems.
but the i didn't find a way of specifying that
each resource can do only one task at a time.
Is there a good way to do this with cumulatives
or is it better to revert to unary and just
do a unary constraint for each resource ?
Or is it better to implement a propagator for this myself ?
(I am trying to achieve something similar to
http://www.emn.fr/z-info/sdemasse/gccat/Kassigning_and_scheduling_tasks_that_run_in_parallel.html
)
More information about the users
mailing list


{% extends "base.html" %} {% load staticfiles %} {% block header %} {% endblock %} {% block content %}
Thank you for submitting the form
Click here to view your event page
Want to submit another form? Click Here


DAWN OF THE DEAD aka ZOMBIES
Written and Directed by George A. Romero Produced by Richard P. Rubenstein
Starring Ken Foree ---- Peter David Emge ---- Steven Gaylen Ross ---- Fran Scott H. Reineger ---- Roger
This is without doubt the greatest horror movie ever made, and we should accept this without any further ado or arguments. You can forget Halloween, Friday the 13th, Nightmare On Elm Street or Scream, this is the one that got them all started.
A follow up to Romero's 1969 classic 'Night Of The Living Dead' see's four main protagonists alone, scared and couped up in a large shopping mall after fleeing the city, with the walking dead everywhere.
Up to the point where the group get to the mall is pretty much run of the mill, social satire, city folks panicking and not wanting to hear what they are being told, TV station controllers sending people out to their deaths just to boost ratings and in the country, Rednecks using the situation for target practice and a huge party.
When they reach themall the style of the film changes, if not the points being made by Romero, and it is here where the film comes into it's own, as we see the group transform from isolated outsiders looking in on a situation to becoming drawn into the world of consumerism that is staring them in the face.
At this point the film could have gone dead, but enter Tom Savini and his gang of hells angels, with only one intent, taking the consumerist goods for themselves. What do they want them for? Where can they use them? It doesn't matter, they just want them, they just need them to remind them of a world that once was.
Overall Romero leaves you with the question 'Who actually is worse, the zombies who only attack the humans, or the humans who attack each other for seemingly no reason at all? O.K the performances from everyone (With the exception of genere fave Foree) are somewhat lacking, but what the hell, this isn't an actors movie, it's Romero's, and what a bloody good job he makes of it as well.
Marks Out Of 10 ======== 10
Martin A. Horton<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Canvas is not supported by your browser
Movement keys:
WASD
Place bomb:
Space key
Colors:
Black: Wall
Brown: Crate(breakable)
Blue: Player
Red: Bot
Yellow: Bomb


| Product | Company | Distribution | Reason for Recall | Country | Product Type |
|---|---|---|---|---|---|
| {{ result["product_description"] }} | {{ result["recalling_firm"] }} | {{ result["distribution_pattern"] }} | {{ result["reason_for_recall"] }} | {{ result["country"] }} | {{ result["product_type"] }} |
| Location | Magnitude | Time | Url |
|---|---|---|---|
| {{ earthquake.location_description }} | {{ earthquake.magnitude }} | {{ epoch_to_time(earthquake["time"]) }} | {{ earthquake.url }} |


Scarborough lies just at the southern limit of the cyclone belt and the harbour is well sheltered. It is located to the north of the Brisbane River along the western shore of Moreton Bay in Deception Bay. It is a popular day trip destination for visitors from Brisbane.
Nearby marina coverage includes: Brisbane and the Brisbane River, Manly and Gold Coast.
Position 21° 12'17"S, 153° 06'37"E
Scarborough Marina no longer has a clearance facility for yachts arriving from overseas. Yachts could be fined for arriving at the marina from outside Australia without prior customs clearance.
For clearance, yachts can use either Rivergate Marina, Brisbane or Bundaberg Port Marina.
Last updated January 2014.
There are three marinas with the Scarborough Boat Harbour. Newport marina is south west of the Boat harbour and through the narrow canal which also leads to a marina housing complex.
Last updated January 2014.
[Show additional 3 entries for this category]


synclient - commandline utility to query and modify Synaptics driver options.
synclient [-lV?] [var1=value1 [var2=value2] ...]
This program lets you change your Synaptics TouchPad driver for XOrg/XFree86 server parameters while X is running.
-l List current user settings. This is the default if no option is given.
-V Print version number and exit.
-? Show the help message.
var=value Set user parameter var to value.
To disable EdgeMotionMinSpeed:
synclient EdgeMotionMinSpeed=0
Peter Osterlund<EMAIL_ADDRESS>and many others.
This man page was written by Mattia Dongili<EMAIL_ADDRESS>Xorg(1), syndaemon(1), synaptics(4)