Last updated: 06/03/2020
Here is a list of links that you might find useful when studying for your Azure exams. Feel free to create a pull request to add more.
Skyline Academy:
https://courses.skylinesacademy.com/p/az-100
Scott Duffy:
https://www.udemy.com/course/70533-azure/
Below you will find a list of free resources from Microsoft on their Microsoft Learn site.
Administer infrastructure resources in Azure (12 Modules)
https://docs.microsoft.com/en-us/learn/paths/administer-infrastructure-resources-in-azure
Architect storage infrastructure in Azure (7 Modules)
https://docs.microsoft.com/learn/paths/architect-storage-infrastructure
Architect network infrastructure in Azure (12 Modules)
https://docs.microsoft.com/learn/paths/architect-network-infrastructure
Architect infrastructure operations in Azure (5 Modules)
https://docs.microsoft.com/learn/paths/architect-infrastructure-operations
Architect compute infrastructure in Azure (9 Modules)
https://docs.microsoft.com/learn/paths/architect-compute-infrastructure
Architect migration, business continuity, and disaster recovery in Azure (9 Modules)
https://docs.microsoft.com/learn/paths/architect-migration-bcdr
Manage resources in Azure (6 Modules)
https://docs.microsoft.com/learn/paths/manage-resources-in-azure
Manage identity and access in Azure Active Directory (7 Modules)
https://docs.microsoft.com/learn/paths/manage-identity-and-access
Manage security operations in Azure (8 Modules)
https://docs.microsoft.com/learn/paths/manage-security-operations
Implement resource management security in Azure (6 Modules)
https://docs.microsoft.com/learn/paths/implement-resource-mgmt-security
Administer containers in Azure (6 Modules)
https://docs.microsoft.com/learn/paths/administer-containers-in-azure
https://docs.microsoft.com/en-us/learn/certifications/exams/az-104
Create users and groups
https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/add-users-azure-active-directory
https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-groups-create-azure-portal
Manage user and group properties
https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-users-profile-azure-portal
https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-groups-settings-azure-portal
Manage device settings
https://docs.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal
Perform bulk user updates
https://blogs.technet.microsoft.com/active-directory/bulk-user-modification/
Manage guest accounts
https://docs.microsoft.com/en-us/azure/active-directory/b2b/b2b-quickstart-add-guest-users-portal
Configure Azure AD Join
https://docs.microsoft.com/en-us/azure/active-directory/user-help/user-help-join-device-on-network
https://docs.microsoft.com/bs-latn-ba/azure/active-directory/devices/hybrid-azuread-join-managed-domains
Configure self-service password reset
https://docs.microsoft.com/en-us/azure/active-directory/authentication/quickstart-sspr
Create a custom role
https://docs.microsoft.com/en-us/azure/role-based-access-control/tutorial-custom-role-powershell
Provide access to Azure resources by assigning roles: subscriptions, resource groups and resources (VM, disk, etc.)
https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal#add-a-role-assignment
Interpret access assignments
https://docs.microsoft.com/en-us/azure/role-based-access-control/deny-assignments
Manage multiple directories
https://techcommunity.microsoft.com/Azure-Active-Directory-Identity/Creating-and-Managing-Multiple-Windows-Azure-Active-Directories/ba-p/243428
Configure Azure policies
https://docs.microsoft.com/en-us/azure/governance/policy/tutorials/create-and-manage
Configure resource locks
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-lock-resources
Apply tags
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-using-tags
Create and manage resource groups
Move resources
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-move-resources
Manage subscriptions
https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-subscriptions-associated-directory
Configure Cost Management
https://docs.microsoft.com/en-us/azure/cost-management-billing/cost-management-billing-overview
Configure management groups
https://docs.microsoft.com/en-us/azure/governance/management-groups/create
Configure network access to the storage account
https://docs.microsoft.com/en-us/azure/storage/common/storage-network-security
Create and configure storage account
https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account
https://docs.microsoft.com/en-us/azure/storage/common/storage-account-manage
Generate shared access signature
https://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1
Manage access keys
https://docs.microsoft.com/en-us/azure/storage/common/storage-account-manage
Implement Azure storage replication
https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy
configure Azure AD Authentication for a storage account
https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad
Export from Azure job
https://docs.microsoft.com/en-us/azure/storage/common/storage-import-export-data-from-blobs
Import into Azure job
https://docs.microsoft.com/en-us/azure/storage/common/storage-import-export-data-to-blobs
Install and use Azure Storage Explorer
https://docs.microsoft.com/en-us/azure/vs-azure-tools-storage-manage-with-storage-explorer
Copy data by using AZCopy
https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10
Create an Azure file share
https://docs.microsoft.com/en-us/azure/storage/files/storage-how-to-create-file-share
Create and configure Azure File Sync service
https://docs.microsoft.com/en-us/azure/storage/files/storage-sync-files-deployment-guide?tabs=azure-portal
Configure Azure blob storage
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal
Configure storage tiers for Azure blobs
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-storage-tiers?tabs=azure-portal
Configure high availability
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-availability-sets
Deploy and configure scale sets
https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-portal
Modify Azure Resource Manager (ARM) template
https://docs.microsoft.com/en-us/azure/architecture/building-blocks/extending-templates/update-resource
Configure VHD template
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/create-vm-specialized
Deploy from template
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ps-template
Save a deployment as an ARM template
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/download-template
Automate configuration management by using custom script extensions
https://blogs.technet.microsoft.com/stefan-stranger/using-azure-custom-script-extension-to-execute-scripts-on-azure-vms/
Configure Azure Disk Encryption
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disk-encryption-portal-quickstart
Move VMs from one resource group to another
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/move-vm
Manage VM sizes
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes
Add data discs
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps
Configure networking
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/network-overview
Redeploy VMs
https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/redeploy-to-new-node-windows
Create and configure Azure Kubernetes Service (AKS)
https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough-portal
Create and configure Azure Container Instances (ACI)
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-quickstart
Create and configure App Service
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-dotnet
Create and configure App Service Plans
https://docs.microsoft.com/en-us/azure/app-service/app-service-plan-manage
Create and configure VNET peering
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-peering
Configure private and public IP addresses network routes, network interface, subnets, and virtual network
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-public-ip-address
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-static-private-ip-arm-pportal
https://docs.microsoft.com/en-us/azure/virtual-network/tutorial-create-route-table-portal
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-subnet
https://docs.microsoft.com/en-us/azure/virtual-network/manage-virtual-network
Configure Azure DNS
https://docs.microsoft.com/en-us/azure/dns/dns-getstarted-portal
Configure custom DNS settings
https://docs.microsoft.com/en-us/azure/dns/dns-custom-domain
Configure a private or public DNS zone
https://docs.microsoft.com/en-us/azure/dns/private-dns-getstarted-powershell
https://docs.microsoft.com/en-us/azure/dns/dns-delegate-domain-azure-dns
Create security rules
https://docs.microsoft.com/en-us/azure/virtual-network/manage-network-security-group
Associate an NSG to a subnet or network interface
https://docs.microsoft.com/en-us/azure/virtual-network/manage-network-security-group
Evaluate effective security rules
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface
Deploy and configure Azure Firewall
https://docs.microsoft.com/en-us/azure/firewall/tutorial-firewall-deploy-portal
Deploy and configure Azure Bastion Service
https://docs.microsoft.com/en-us/azure/bastion/bastion-create-host-portal
Configure Application Gateway
https://docs.microsoft.com/en-us/azure/application-gateway/quick-create-powershell
Configure an internal load balancer
https://docs.microsoft.com/en-us/azure/load-balancer/tutorial-load-balancer-basic-internal-portal
Configure load balancing rules
https://docs.microsoft.com/en-us/azure/load-balancer/configure-load-balancer-outbound-cli
Configure a public load balancer
https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-get-started-internet-availability-zones-zonal-powershell
Troubleshoot load balancing
https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-troubleshoot
Monitor on-premises connectivity
https://blogs.technet.microsoft.com/step-by-step-monitoring-on-premise-active-directory-via-azure-ad-connect-health/
Use Network resource monitoring
https://docs.microsoft.com/en-us/azure/azure-monitor/insights/network-performance-monitor
Use Network Watcher
https://docs.microsoft.com/en-us/azure/network-watcher/network-watcher-create
Troubleshoot external networking
https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-troubleshoot-site-to-site-cannot-connect
Troubleshoot virtual network connectivity
https://docs.microsoft.com/en-us/azure/network-watcher/diagnose-communication-problem-between-networks
Create and configure Azure VPN Gateway
https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-tutorial-create-gateway-powershell
Create and configure VPNs
https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-howto-site-to-site-resource-manager-portal
Configure ExpressRoute
https://docs.microsoft.com/en-us/azure/expressroute/expressroute-howto-circuit-portal-resource-manager
Verify on premises connectivity
https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-verify-connection-resource-manager
Configure Azure Virtual WAN
https://docs.microsoft.com/en-us/azure/virtual-wan/connect-virtual-network-gateway-vwan
Configure and interpret metrics
analyze metrics across subscriptions
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/data-platform-metrics
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-charts
Configure Log Analytics
implement a Log Analytics workspace
https://docs.microsoft.com/en-us/azure/azure-monitor/learn/quick-create-workspace
configure diagnostic settings
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/resource-logs-collect-workspace
Query and analyze logs
create a query
https://docs.microsoft.com/en-us/azure/azure-monitor/log-query/get-started-queries
save a query to the dashboard
https://docs.microsoft.com/en-us/azure/azure-monitor/log-query/get-started-portal#save-queries
interpret graphs
https://docs.microsoft.com/en-us/azure/azure-monitor/learn/tutorial-logs-dashboards#visualize-a-log-query
Set up alerts and actions
create and test alerts
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-metric
create action groups
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/action-groups
view alerts in Azure Monitor
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-metric#view-and-manage-with-azure-portal
analyze alerts across subscriptions
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-managing-alert-instances
Configure Application Insights
https://docs.microsoft.com/en-us/azure/azure-monitor/learn/dotnetcore-quick-start
Configure and review backup reports
https://docs.microsoft.com/en-us/azure/backup/backup-azure-configure-reports
Perform backup and restore operations by using Azure Backup Service
https://docs.microsoft.com/en-us/azure/backup/quick-backup-vm-portal
https://docs.microsoft.com/en-us/azure/backup/backup-azure-arm-restore-vms
Create a Recovery Services Vault
use soft delete to recover Azure VMs
https://docs.microsoft.com/en-us/azure/backup/backup-create-rs-vault
https://azure.microsoft.com/en-in/updates/soft-delete-virtual-machine-backup/
Create and configure backup policy
https://docs.microsoft.com/en-us/cli/azure/backup/policy?view=azure-cli-latest
Perform site-to-site recovery by using Azure Site Recovery
https://docs.microsoft.com/en-us/azure/site-recovery/tutorial-prepare-azure-for-hyperv


Cruel Intentions
Written and Directed by Roger Kumble
Based on the Novel "Les Liasons Dangereuses" by Choderlos de Laclos
Starring: Ryan Phillippe Sarah Michelle Gellar Reese Withsersppon Selma Blair Joshua Jackson
What have horror movies taught us? I guess they have taught us what we already know, that diluting the same idea that may have at one point been good isn't a good idea. Think of it. All of the franchises, with the exception of Scream, which is only on its second installment, and, thanks to the grace of Kevin Williamson, has remained fresh in its sequel, have bitterly failed.
Perhaps it makes sense that the only people who would star in a redo of an idea used at least four times before (3 adaptations of Dangerous Liaisons and the indie smash In the Company of Men) area all veterans of horror movies. Phillippe and Gellar starred together in I Know What You Did Last Summer. Witherspoon was in Fear and Freeway, and in the anticipated American Psycho.
However -- and maybe this is just the reparations paid by fate -- Cruel Intentions comes out as a good-luck charm. The movie, although lacking the literary content of other films with the same plot, is as entertaining a sex comedy as you get to see from a studio. The acting is actually half-decent, perhaps the most monumental achievement of the film considering the odds it has against it:
For one, it has a first-time director. For two, we have not one but three stars from the WB network, whose motto should be "good ideas, bad actors." For three, we have Ryan Phillipe, someone who has never once had a good role and, like most of the brat pack of 90s actors, most likely never will. Perhaps they were inspired by Reese Witherspoon's convincing performance as a virgin, which actually is a great showcase of her versatility considering, only a few months ago, she starred as a slut in the overlooked creative mind-exercise Pleasantville.
The plot, as I've said, is shared with three adaptations of Dangerous Liaisons and with the indie In the Company of Men.  Fail, and she gets his '57 Roadster. Now, with most women, this wouldn't be worth it, but, hey, we're talking about Sarah Michelle Gellar.
 He new motto for acting (aside from the fact that it would plagiarize Mae West): "When I'm good, I'm really good. When I'm bad, I'm better." A nice fun subplot in the movie, that gives it the majority of its humor, is Sebastian's "awakening" of Cecile, yet another virgin Gellar seeks to destroy (for stealing a boyfriend she blew), which leads to most of the sex in this film, not to mention the best snippet of popcorn film conversation I've heard in 1999:
Cecile: This doesn't taste like iced tea. Sebastian: It's from Long Island.
Unfortunately, the story decides not to rely on the acerbic wit that newcomer Roger Kumble inserts into his film, but instead onů(ominous tones) ROMANCE. As the relationship between Sebastain and Annette becomes more sweet and chick-flick, the movie takes a turn for the worse, ending on a low note.
Also, for all movie buffs who think they know the ending from the trailer: you probably do.
Predictable to a T, Cruel Intentions is nonetheless and enjoyable popcorn film. Maybe it's just the Y-chromosome in me: this film does house a vast repertoire of sex for an R rating (lesbian kiss, etc.). Maybe it's just the fact that I munch popcorn and need a film to munch it in. But either way, Cruel Intentions is a fun film to see.
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


I think I finally figured it out.
Getting charts and graphs created in Google Sheets (or Excel for that matter) has always been somewhat of a wrestling match between what I want the software to do and what the software thinks I want it to do. Predictive and suggestion-based user interface is nice, but not when I want to plot some data. Let me dictate what happens.
Excel isn’t as bad – you can create a chart and then manually set the Y and X axis series. No such workflow in Google Sheets.
This week, my students were collecting data for position and speed of an object as it accelerated down an incline. We put the data on the board and then I went to make a chart of it the following day. As usual, I selected the two columns to plot and inserted the scatter plot.
Here’s a sample table:
No matter how I selected the data – left to right, right to left – Google always put the velocity data on the X axis and time on the Y (in Excel, it remembers which direction you select data, so it’s an easy fix).
I realized, after several minutes of trial and error, that Google defaults the X axis to data in the leftmost column. Seriously. It was that small of a distinction. So, you have two options: 1) Swap the columns, or 2) Select data manually. Because this sheet was dependent on some formulas I’d already written, I chose to do the latter.
In any tab, click on the data select tool to close the chart dialog and choose your data.
</ol>
If all goes well, your new chart should have data on the correct axis in the graph.
Written on September 26th, 2015 by Brian Bennett Categorized in: All Technology
Leave a comment


Xalan-Java Extensions
- Introduction
- Supported languages
- The basic pattern
- Setting up the runtime environment
- Syntax
- Using an extension element
- Using extension functions
- Alternative: using the abbreviated syntax for extensions implemented in Java
- Examples: basic JavaScript example, using the java namespace, using a Java Hashtable, using a JavaScript array
| Unless otherwise specified, the Xalan-Java extensions discussed in this section refers to the Xalan-Java Interpretive processor. See Extensions for XSLTC for more information. |
Introduction
For those situations where you would like to augment the functionality of XSLT with calls to a procedural language, Xalan-Java supports the creation and use of extension elements and extension functions. Xalan-Java also provides a growing extensions library available for your use. An extension (a collection of elements and functions) inhabits a namespace, either a namespace you declare and designate as an extensions namespace, or one of the predefined namespaces that Xalan-Java provides. For information about XML namespaces, see Namespaces in XML.
Extension elements: Unlike a literal result element, which the stylesheet simply transfers to the result tree, an extension element performs an action. For example, you can use the Redirect extension elements shipped with Xalan-Java to redirect portions of your transformation output to one or more files. Extension elements may contain attributes, text nodes, other elements, basically any valid XML. Extension elements may perform quite sophisticated actions, given that the extension routine (the implementation) has direct access to the XSLT processor context object and to the element. In many cases the implementation returns void or null; if it does return a value, that value is placed in the transformation result tree.
Extension functions: You can think of extension functions as extending the core library of functions that XPath provides. An extension function passes arguments to the extension implementation and returns a value. You can use extension functions to return values that XSLT can interact with directly (node-set, result tree fragment, string, boolean, and number) as well as values (of any type) that you pass in turn to other extension functions. Extension functions written in Java can also access certain items in the XSLT execution environment through an ExpressionContext interface.
XSLT extensions are specified in the XSLT Recommendation. This document focuses on the Xalan-Java implementation of those requirements, not on XSLT extensions in general. For additional information on extensions, consult the Recommendation or the other resources listed in Getting up to speed with XSLT.
Supported languages
Extensions written in Java are directly supported by Xalan-Java. For extensions written in languages other than Java, Xalan-Java uses the Bean Scripting Framework (BSF), an architecture for incorporating scripting into Java applications and applets. BSF allows an application to take advantage of scripting while being independent of any specific scripting language. To date, we have tested extensions implemented in JavaScript. The set of scripting languages supported using BSF is determined by the BSF implementation you are using. If you are using Jakarta BSF, please refer to Jakarta BSF Supported Languages for other scripting languages with BSF support.
BSF requires bsf.jar on the classpath. This JAR file is no longer shipped with Xalan-Java. It can be downloaded from the Apache Jakarta BSF project web site. It is required only if you have extensions written in languages other than Java. The additional JAR files or DLLs required to support extensions written in other languages are listed at the Jakarta BSF web site as Related Projects . These files are available from the sources indicated and are not shipped with Xalan-Java.
By default Xalan-Java assumes BSF support is provided by the Jakarta BSF implementation. There are three ways of specifying the class that provides the BSF Manager service:.
- Set the system property org.apache.xalan.extensions.bsf.BSFManager;
- In the property file "/lib/xalan.properties" in the JRE directory, add the key org.apache.xalan.extensions.bsf.BSFManager with the value that is the fully qualified BSF implementation class name;
- Include a META-INF/services/org.apache.xalan.extensions.bsf.BSFManager file in your classpath;
The basic pattern
Let's examine a simple example. The stylesheet below uses an extension element and an extension function to transform an element in the XML source into a statement in the output indicating the date by which a customer can expect a response to a given enquiry.
The source element contains a numdays attribute. The extension element contains a multiplier
attribute, which is used to set a variable in the extension. The extension function computes the
deadline, that is the current date plus numdays * multiplier. So for <deadline numdays="3"/>
(in the XML source) and <my-ext:timelapse multiplier="2"/> (in the stylesheet), the
extension computes a deadline 6 days from now, and the stylesheet template transforms the
deadline element into a string along the lines of
We have logged your enquiry
and will respond by April 29, 2000 12:07:16 PM EST.

| The extension function could include both numdays and multiplier as arguments, thus bypassing the need for the extension element, but the purpose here is to illustrate the usage pattern for extension elements. |
As you review this stylesheet, please note the following:
- The declaration of the xalan namespace, which provides support for the component and
component/script elements:
xmlns:xalan="http://xml.apache.org/xalan"
- The declaration of a namespace for this extension:
xmlns:my-ext="ext1"
- The designation of this namespace prefix as an extension prefix. This causes any element in the
namespace associated with this prefix to be treated as an extension element rather than a literal
result element.
extension-element-prefixes="my-ext"
- The xalan:component with attributes designating the namespace prefix and the elements and
functions this extension provides.
- The xalan:script subelement with a JavaScript implementation of the extension. For Java extensions, the xalan:script element has a src attribute that you set to identify the Java class.
<?xml version="1.0"?>  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xalan="http://xml.apache.org/xalan" xmlns:my-ext="ext1" extension-element-prefixes="my-ext">  <xalan:component prefix="my-ext" elements="timelapse" functions="getdate"> <xalan:script lang="javascript"> var multiplier=1; // The methods or functions that implement extension elements always take 2 // arguments. The first argument is the XSL Processor context; the second // argument is the element node. function timelapse(xslProcessorContext, elem) { multiplier=parseInt(elem.getAttribute("multiplier")); // The element return value is placed in the result tree. // If you do not want a return value, return null. return null; } function getdate(numdays) { var d = new Date(); var totalDays = parseInt(numdays) * multiplier; d.setDate(d.getDate() + totalDays); return d.toLocaleString(); } </xalan:script> </xalan:component> <xsl:template match="deadline">
<my-ext:timelapse multiplier="2"/>We have logged your enquiry and will respond by <xsl:value-of select="my-ext:getdate(string(@numdays))"/>.
 </xsl:template> </xsl:stylesheet>
Setting up the runtime environment
To run the preceding example, bsf.jar and js.jar must be on the classpath. Remember that bsf.jar must be on the classpath to run any extension written in a language other than Java. For extensions implemented in a scripting language, see the additional requirements in Supported languages.
Syntax
You can always use the pattern illustrated above to set up and use extension elements and extension functions. For extension elements and functions implemented in Java, it is recommended that you use the abbreviated syntax, described in Alternative: using the abbreviated syntax for extensions implemented in Java. Unless you are using the abbreviated syntax, do the following:
1. Declare the xalan namespace
xmlns:xalan="http://xml.apache.org/xalan"
The xalan namespace provides support for the xalan:component element and xalan:script subelement.
| The old namespace http://xml.apache.org/xslt is still supported for backward compatibility. |
2. Declare a unique namespace for each extension prefix
xmlns:
prefix
=
URI
The
prefix
identifies the namespace, and
URI
is an arbitrary (but unique)
string that matches the value of the prefix attribute of an xalan:component element in the
stylesheet.
Example: xmlns:ext1="xyz"
3. If you are using extension elements, designate the extension element prefixes
This step is required only if you are using extension elements. If you are using extension
functions only, you can skip this step.
In the stylesheet element, write:
extension-element-prefixes="
prefix-1 prefix-2 ...
"
In a literal result element or extension element include the xsl prefix:
xsl:extension-element-prefixes="
prefix1 prefix2 ...
"
Keep in mind that where you declare namespaces and designate extension prefixes determines the scope of those namespaces.To make your extensions available throughout the stylesheet, include these settings and attribute in the stylesheet element.
4. (Optional) Exclude the extension namespace declaration from the result tree
By default, namespace declarations are included in the transformation output. To exclude
namespaces from the output, use
exclude-result-prefixes="
prefix-1 prefix-2 ...
"
in the stylesheet element or
xsl:exclude-result-prefixes="
prefix-1 prefix-2 ...
"
in a literal result element or extension element.
5. Set up an xalan:component
In the scope of the xalan namespace declaration:
<xalan:component prefix="
prefix
"
functions="
func-1 func-2 ...func-n
"
elements="
elem-1 elem-2 ...elem-n
">

</xalan:component>
where func-1 func-2 ... func-n and elem-1 elem-2 ... elem-n designate the functions and elements the extension provides and the stylesheet uses. You can use the function-available and element-available functions to determine at run time whether a function or element designated in the xalan:component is actually available.
| If the component is implemented in Java, the values of the functions and elements attributes are ignored. The function-available and element-available functions use reflection to examine the actual Java methods. |
6. Set up the xalan:script element
In each xalan:component, you must include exactly one xalan:script element. If the extension
is implemented in JavaScript:
<xalan:script lang="javascript" >

</xalan:script>
For other scripting languages supported by BSF, use the same approach as for JavaScript. The src attribute is also supported in the xalan:script element. If it is present, the script will be loaded from the URL specified in the src attribute. Otherwise the script is taken from the text child of the xalan:script element.
If the extension is implemented in Java, you have three choices for the format of the src attribute in the xalan:script element.
<xalan:script lang="javaclass" src="xalan://
FQCN
"/>
where
FQCN
is the fully qualified class name.
Example: <xalan:script lang="javaclass" src="xalan://java.util.Hashtable"/>
<xalan:script lang="javaclass" src="xalan://
PJPN
"/>
where
PJPN
is the beginning of or the complete name of a java package.
Example: <xalan:script lang="javaclass" src="java.util"/>
<xalan:script lang="javaclass" src="http://xml.apache.org/xalan/java"/>
The different formats for the value of the src attribute when using Java extensions are more fully explained in Declare the namespace.
Implicit DTD for xalan:component
<!ELEMENT xalan:component (xalan:script)> <!ATTLIST xalan:component prefix CDATA #REQUIRED elements NMTOKENS #IMPLIED functions NMTOKENS #IMPLIED> <!ELEMENT xalan:script (#PCDATA | EMPTY)?> <!ATTLIST xalan:script lang CDATA #REQUIRED src CDATA #IMPLIED>
Using an extension element
Extension elements pass the extension two objects:
-
org.apache.xalan.extensions.XSLProcessorContext, which provides access to the XSL processor,
the XML source tree, the stylesheet tree, the current context node, and the current mode (if any).
- org.apache.xalan.templates.ElemExtensionCall, which provides the API for interacting with the extension element.
You can use the ElemExtensionCall getAttribute(String name) method, for example, to read element attributes in their raw form. Use the getAttribute(String name, Node sourceNode, XSLTEngineImpl processor) method to evaluate the attribute as an attribute value template. Note that the method names are the same but the method signatures are different. For full details, see the Javadoc for the ElemExtensionCall class.
Implementing an extension element
For each extension element in a namespace, the implementation must be a Java method with the following signature, or the scripting language equivalent:
Type element
(org.apache.xalan.extensions.XSLProcessorContext,
org.apache.xalan.templates.ElemExtensionCall extensionElement)
where Type designates the return type and element is the local part of the extension element name (the element name without the namespace prefix). In the method signature, you may also use superclasses of the indicated types.
If the extension element is implemented in a loosely typed scripting language, such as JavaScript, the arguments and return value are untyped.
Caution: The value returned by an extension element is placed in the transformation result. If you are not interested in a return value, use a public void Java method or return null from a scripting language function.
Java example: public void myElement
(org.apache.xalan.extensions.XSLProcessorContext,
org.apache.xalan.templates.ElemExtensionCall extensionElement)
JavaScript example: function myElement(xslProcContext, element)
The Redirect extension in the extensions library contains three extension elements.
Using extension functions
Extension functions may include arguments of any type and return a value of any type.
XSLT recognizes five data types: node-set, result-tree-fragment, string, boolean, and number. You can use XPath expressions to set variables with values of these types. You can also pass literals for string, boolean, and number arguments. If you want to pass an argument of a type that XSLT does not recognize, use another extension function to return an object of that type. The stylesheet that appears in Formatting a date, for example uses extension functions to return a Date object and a SimpleDateFormat object, and then uses these objects to call another extension function.
Data type mapping and method selection
When calling an extension function written in a language other than Java, objects of the following Java classes will always be passed to the extension function:
| XSLT Type | Java Type |
|---|---|
| Node-Set | org.w3c.dom.traversal.NodeIterator |
| String | java.lang.String |
| Boolean | java.lang.Boolean |
| Number | java.lang.Double |
| Result Tree Fragment | org.w3c.dom.DocumentFragment |
Any non-XSLT type is passed without conversion.
When calling an extension function written in Java, the extension function signature can specify any of the indicated Java types, as explained below:
| XSLT Type | Java Types |
|---|---|
| Node-Set | org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean |
| String | java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean |
| Boolean | boolean, java.lang.Boolean, java.lang.Object, java.lang.String |
| Number | double, java.lang.Double, float, long, int, short,char, byte, boolean, java.lang.String, java.lang.Object |
| Result Tree Fragment | org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean |
| Non-XSLT Type | the native type or any of its superclasses, double, float, long, int, short, char, byte, java.lang.String |
When calling extension functions written in Java, Xalan-Java selects the method to call as follows:
- Xalan-Java selects all methods whose name matches the extension function name as specified in Extension function Java calls.
- From this list of methods, Xalan-Java determines which methods are qualified .
- Each qualified method is assigned a score based on the table shown above. To assign the score to a given method, Xalan-Java examines each of the XSLT argument types in the function invocation in the stylesheet. For each argument, the appropriate row in the table above is selected. Then, the corresponding Java parameter type in the method signature in the Java program is scored. Types which appear earlier in the list are given a higher score. That is, the list appears in order of scoring preference from highest to lowest. Types shown in square brackets have equal priority.
- The method with the highest score is invoked after the arguments are converted to the appropriate type. If more than one method has the highest score, an exception is thrown.
Any extension function written in Java can have a first parameter of
type org.apache.xalan.extensions.ExpressionContext
. Any method with an
ExpressionContext as the first parameter will score higher than any method which does not have an
ExpressionContext as a first parameter.
Return values
The Xalan-Java extension mechanism examines the class of the value returned from a function and converts the value into an XSLT type according to the following table:
| Java Types | XSLT Type |
|---|---|
| org.w3c.dom.traversal.NodeIterator org.apache.xml.dtm.DTM org.apache.xml.dtm.DTMAxisIterator org.apache.xml.dtm.DTMIterator org.w3c.dom.Node |
Node-Set |
| java.lang.String | String |
| java.lang.Boolean | Boolean |
| java.lang.Number | Number |
| org.w3c.dom.DocumentFragment | Result Tree Fragment |
| org.apache.xpath.objects.XObject | Specified XSLT Type |
| All other classes | Non-XSLT Type |
Note that the above test is applied using instanceof
so that any subclasses of the
classes listed above will be treated the same as the listed superclass. For example, a
java.lang.Double
will be treated the same as a java.lang.Number
and
will be converted to an XSLT Number.
| The return value conversion can somtimes cause confusion. For example, if your extension function returns an object that is a subclass of NodeIterator, that object will be converted by Xalan-Java to an XSLT Node-Set. If you later attempt to treat that object as a non-XSLT object of your original class and try to invoke a method on that object, your method invocation will fail. |
Extension function Java calls
The technique for instantiating Java objects and calling Java methods depends on the format of the extension namespace that was declared. See Declare the namespace for the three different formats of namespace declarations for Java extensions. For each namespace format, the section below describes how to instantiate an object, how to invoke an instance method, and how to invoke a static method. The sections below explain, for each syntax, which methods are qualified for method selection as described in the preceeding section.
Class format namespace
To create an instance of an object:
prefix
:new (
args
)
where
prefix
is the extension namespace prefix. A new instance is to be created with
the
args
constructor arguments (if any). All constructor methods are qualified for method
selection.
Example: <xsl:variable name="myType"
select="my-class:new()">
To invoke an instance method on a specified object:
prefix
:
methodName
(
object
,
args
)
where
prefix
is the extension namespace prefix and
methodName
is the name of
the method to invoke on
object
with the
args
arguments.
object
must
be an object of the class indicated by the namespace declaration. Otherwise, the case shown
immediately below will apply. Only instance methods with the name
methodName
are
qualified methods. If a matching method is found,
object
will be used to identify the
object instance and
args
will be passed to the invoked method.
Example: <xsl:variable name="new-pop"
select="my-class:valueOf($myType, string(@population))">
To invoke an instance method on a default object:
prefix
:
methodName
(
args
)
where
prefix
is the extension namespace prefix and
methodName
is the name of
the method to invoke with the
args
arguments. The first
arg
, if any, must not be
an object of the class indicated by the namespace declaration. Otherwise, the case shown immediately
above will apply. Only instance methods with the name
methodName
are qualified methods. If
a matching method is found, a default instance of the class will be created if it does not already
exist.
Example: <xsl:variable name="new-pop"
select="my-class:valueOf(string(@population))">
To invoke a static method:
prefix
:
methodName
(
args
)
where
prefix
is the extension namespace prefix and
methodName
is the name of
the method to invoke with the
args
arguments. Only static methods with the name
methodName
are qualified methods. If a matching method is found,
args
will
be passed to the invoked static method.
Example: <xsl:variable name="new-pop"
select="my-class:printit(string(@population))">
Package format namespace
To create an instance of an object:
prefix
:
subpackage
.
class
.new (
args
)
where
prefix
is the extension namespace prefix,
subpackage
is the rest of the
package name (the beginning of the package name was in the namespace declaration), and
class
is the name of the class. A new instance is to be created with the
args
constructor
arguments (if any). All constructor methods are qualified for method selection.
Example: <xsl:variable name="myType"
select="my-package:extclass.new()">
To invoke an instance method on a specified instance:
prefix
:
methodName
(
object
,
args
)
where
prefix
is the extension namespace prefix and
methodName
is the name of
the method to invoke on
object
with the
args
arguments. Only instance methods of
the
object
with the name
methodName
are qualified methods. If a matching method
is found,
object
will be used to identify the object instance and
args
will be
passed to the invoked method.
Example: <xsl:variable name="new-pop"
select="my-package:valueOf($myType, string(@population))">
To invoke a static method:
prefix
:
subpackage
.
class
.
methodName
(
args
)
where
prefix
is the extension namespace prefix,
subpackage
is the rest of
the package name (the beginning of the package name was in the namespace declaration),
class
is the name of the class, and
methodName
is the name of the method to invoke with the
args
arguments. Only static methods with the name
methodName
are qualified
methods. If a matching method is found,
args
will be passed to the invoked static method.
Example: <xsl:variable name="new-pop"
select="my-package:extclass.printit(string(@population))">
| Unlike the class format namespace, there is no concept of a default object since the namespace declaration does not identify a unique class. |
Java format namespace
To create an instance of an object:
prefix
:
FQCN
.new (
args
)
where
prefix
is the extension namespace prefix for the Java namespace and
FQCN
is the fully qualified class name of the class whose constructor is to be called. A new instance is to
be created with the
args
constructor arguments (if any). All constructor methods are
qualified for method selection.
Example: <xsl:variable name="myHash"
select="java:java.util.Hashtable.new()">
To invoke an instance method on a specified instance:
prefix
:
methodName
(
object
,
args
)
where
prefix
is the extension namespace prefix and
methodName
is the name of
the method to invoke on
object
with the
args
arguments. Only instance methods of
the
object
with the name
methodName
are qualified methods. If a matching method
is found,
object
will be used to identify the object instance and
args
will be
passed to the invoked method.
Example: <xsl:variable name="new-pop"
select="java:put($myHash, string(@region), $newpop)">
To invoke a static method:
prefix
:
FQCN
.
methodName
(
args
)
where
prefix
is the extension namespace prefix,
FQCN
is the fully qualified
class name of the class whose static method is to be called, and
methodName
is the name of
the method to invoke with the
args
arguments. Only static methods with the name
methodName
are qualified methods. If a matching method is found,
args
will be
passed to the invoked static method.
Example: <xsl:variable name="new-pop"
select="java:java.lang.Integer.valueOf(string(@population))">
| Unlike the class format namespace, there is no concept of a default object since the namespace declaration does not identify a unique class. |
Passing Nodes to java
Please keep in mind that all LocationPath expressions return a node-set, even if the expression only returns a single attribute or a text node (node-sets with one member). You can use the XSLT string() function (as in the syntax examples above) to convert a node-set value to string, and the number() function to convert a node-set value to number (a double).
If you want to pass a node-set to an extension function, set up a Java method to accept an org.w3c.dom.NodeList (or an org.apache.xpath.NodeSet, which implements NodeList, if you want to modify the nodes).
Suppose, for example, you have a myExtensions.ProcessNodes class with the following doSomething method:
public static boolean doSomething(org.w3c.dom.NodeList nList)
Assuming you set up this extension in the node-ext namespace, any of the following extension calls from a stylesheet are syntactically possible:

<xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(.)"/>

<xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(*)"/>

<xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(/*)"/>

<xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(foo/baz)"/>

<xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(/foo/baz | /bar/saz)"/>
The NodeList is in fact a list of references into the XML document, so keep in mind that getNextSibling(), for example, gets you the next sibling in the document, which may not be the next Node in the NodeList.
Implementing extension functions
For each extension function in a namespace which is implemented in a language other than Java, the implementation must include a method with the following signature, or the scripting language equivalent:
public
object function
(
args
)
where object is the return type, function is the local part of the extension function name (the function name without the namespace prefix), and args correspond to the arguments in the function call.
In addition, for extension functions implemented in Java, the implementation may include either a Java method with the signature shown above or one with the following signature:
public
object function
(org.apache.xalan.extensions.ExpressionContext,
args
)
Alternative: using the abbreviated syntax for extensions implemented in Java
For extension functions and extension elements implemented in Java, Xalan-Java permits an abbreviated syntax. When you use the abbreviated syntax, you do not use an xalan:component to designate the functions.
The abbreviated syntax supports the use of extension functions and extension elements implemented in Java. You cannot use this syntax with extensions implemented in JavaScript or another scripting language.
Declare the namespace
Declare the namespace for your extensions using one of the following three formats. The technique for invoking an extension for each format is explained in Extension function Java calls.
class format: xmlns:my-class="xalan://
FQCN
"
where
FQCN
is the fully qualified class name.
Examples: xmlns:my-class="xalan://java.util.Hashtable"
xmlns:my-class="xalan://mypackage.myclass"
package format: xmlns:my-class="xalan://
PJPN
"
where
PJPN
is a partial java package name. That is, it is the beginning of or the
complete name of a java package.
Examples: xmlns:my-package="xalan://java.util"
xmlns:my-package="xalan://mypackage"
Java format: xmlns:java="http://xml.apache.org/xalan/java"
| The old namespace http://xml.apache.org/xslt/java is still supported for backward compatibility. |
| Although the namespace declarations for the class and package formats are shown with the xalan:// prefix, the current implementation for those formats will simply use the string to the right of the rightmost forward slash as the Java class name. This format, however, is the preferred format for extension namespace declarations. |
| The class: prefix which was sometimes required in earlier versions of Xalan-Java is no longer required. |
| These formats are also available when coding the src attribute of the xalan:script element as explained in Set up the xalan:script element. |
Use the namespace when you make extension calls
Use the declared prefix with the syntax described in Extension function Java calls.
That is all. You do not include an xalan:component element. Using the abbreviated syntax clearly involves less setup than using the xalan:component/xalan:script approach.
| We recommend that, for extensions coded in Java, the abbreviated syntax should always be used since the xalan:component/xalan:script constructs add no functionality. |
| The abbreviated syntax is supported in XSLTC, but the xalan:component/xalan:script constructs are not. |
Example: Formatting a date
This example uses extension functions to call the SimpleDateFormat class and the IntDate class. IntDate uses String arguments to set up a Date object:
import java.util.Date; import java.util.Calendar; public class IntDate { public static Date getDate(String year, String month, String day) { // Date(int, int, int) has been deprecated, so use Calendar to // set the year, month, and day. Calendar c = Calendar.getInstance(); // Convert each argument to int. c.set ( Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day) ); return c.getTime(); } }
The template transforms date elements with four attributes. For example, it transforms
<date format="EEEE, MMM dd, yyyy" year="2000" month="4" day="27"/>
into
Date: Thursday, April 27, 2000.
.
As you review this stylesheet, please keep the following in mind:
- The exclude-result-prefixes stylesheet attribute prevents the java namespace declaration from appearing in the output.
- The XSLT type returned by any LocationPath expression is node-set, so the XSLT string function is used to convert the format, year, month, and day attribute values from node-sets to strings.
- The format attribute provides a String argument for constructing a java.text.SimpleDateFormat object.
- The IntDate class uses String values provided by the year, month, and day attributes, to set the date. XSLT can pass number values, but these are converted into doubles.
- The formatter variable holds a SimpleDateFormat object, and the date variable holds a Date object. XSLT does not understand either of these types, but they are used to call the SimpleDateFormat format method. In that call, $formatter is the object, and $date is the argument. The syntax for calling Java constructors and methods is described above in Extension function Java calls.
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java">  <xsl:template match="date"> <xsl:variable name="year" select="string(./@year)"/> <xsl:variable name="month" select="string(./@month)"/> <xsl:variable name="day" select="string(./@day)"/> <xsl:variable name="format" select="string(./@format)"/> <xsl:variable name="formatter" select="java:java.text.SimpleDateFormat.new($format)"/> <xsl:variable name="date" select="java:IntDate.getDate($year, $month, $day)"/>
Date: <xsl:value-of select="java:format($formatter, $date)"/>
 </xsl:template> </xsl:stylesheet>
Examples: using Java and JavaScript to implement the same extension
This section contains two examples. The first example uses a Java extension to transform a set of name elements into an alphabetical and numbered list. The second example uses a JavaScript script to do the same. Both examples include equivalent extension elements and an extension function.
Java implementation
MyCounter.java
Import java.util.*; public class MyCounter { Hashtable counters = new Hashtable (); public MyCounter () {} public void init ( org.apache.xalan.extensions.XSLProcessorContext context, org.apache.xalan.templates.ElemExtensionCall extElem ) { String name = extElem.getAttribute("name"); String value = extElem.getAttribute("value"); int val; try { val = Integer.parseInt (value); } catch (NumberFormatException e) { e.printStackTrace (); val = 0; } counters.put (name, new Integer (val)); } public int read(String name) { Integer cval = (Integer) counters.get (name); return (cval == null) ? 0 : cval.intValue (); } public void incr ( org.apache.xalan.extensions.XSLProcessorContext context, org.apache.xalan.templates.ElemExtensionCall extElem) { String name = extElem.getAttribute("name"); Integer cval = (Integer) counters.get(name); int nval = (cval == null) ? 0 : (cval.intValue () + 1); counters.put (name, new Integer (nval)); } }
An XML source document:
<?xml version="1.0"?> <doc> <name first="David" last="Marston"/> <name first="David" last="Bertoni"/> <name first="Donald" last="Leslie"/> <name first="Emily" last="Farmer"/> <name first="Jack" last="Donohue"/> <name first="Myriam" last="Midy"/> <name first="Paul" last="Dick"/> <name first="Robert" last="Weir"/> <name first="Scott" last="Boag"/> <name first="Shane" last="Curcuru"/> </doc>
The stylesheet:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan" xmlns:counter="MyCounter" extension-element-prefixes="counter" version="1.0"> <xalan:component prefix="counter" elements="init incr" functions="read"> <xalan:script lang="javaclass" src="xalan://MyCounter"/> </xalan:component> <xsl:template match="/">
Names in alphabetical order
 <counter:init name="index" value="1"/> <xsl:for-each select="doc/name"> <xsl:sort select="@last"/> <xsl:sort select="@first"/>
 <xsl:text>[</xsl:text> <xsl:value-of select="counter:read('index')"/> <xsl:text>]. </xsl:text> <xsl:value-of select="@last"/> <xsl:text>, </xsl:text> <xsl:value-of select="@first"/>
 <counter:incr name="index"/> </xsl:for-each>  </xsl:template> </xsl:stylesheet>
Transformation output:

Names in alphabetical order

[1]. Bertoni, David

[2]. Boag, Scott

[3]. Curcuru, Shane

[4]. Dick, Paul

[5]. Donohue, Jack

[6]. Farmer, Emily

[7]. Leslie, Donald

[8]. Marston, David

[9]. Midy, Myriam

[10]. Weir, Robert

JavaScript implementation
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan" xmlns:counter="MyCounter" extension-element-prefixes="counter" version="1.0"> <xalan:component prefix="counter" elements="init incr" functions="read"> <xalan:script lang="javascript"> var counters = new Array(); function init (xslproc, elem) { name = elem.getAttribute ("name"); value = parseInt(elem.getAttribute ("value")); counters[name] = value; return null; } function read (name) { // Return a string. return "" + (counters[name]); } function incr (xslproc, elem) { name = elem.getAttribute ("name"); counters[name]++; return null; } </xalan:script> </xalan:component> <xsl:template match="/">
Names in alphatebical order
 <counter:init name="index" value="1"/> <xsl:for-each select="doc/name"> <xsl:sort select="@last"/> <xsl:sort select="@first"/>
 <xsl:text>[</xsl:text> <xsl:value-of select="counter:read('index')"/> <xsl:text>]. </xsl:text> <xsl:value-of select="@last"/> <xsl:text>, </xsl:text> <xsl:value-of select="@first"/>
 <counter:incr name="index"/> </xsl:for-each>  </xsl:template> </xsl:stylesheet>
This stylesheet produces the same output as the preceding example with the Java extension.


Select Variable
Population
Average Income
Select Theme
Sequential PuRd
Sequential GnBu
Sequential YlOrRd
Sequential YlGn
Sequential BuPu
Diverging BrBG
Diverging RdBu
Diverging RdYlGn
Diverging PiYG
Diverging RdGy
>


This game was originally a submission for
Ludum Dare 48
.
Created with
dcollage-pixijs-boilerplate
Get it on GitHub


Group factory
Scrawl-canvas uses Group objects to gather together artefact objects (Block, Canvas, Element, Grid, Loom, Phrase, Picture, Shape, Stack, Wheel) for common functions.
Groups connect artefacts with controller objects - Stack, Cell - through which the Display cycle can cascade. Each controller object can have more than one Group associated with it. Only Groups whose visibility flag has been set to true will propagate the Display cycle cascade to their member artefacts. The order in which each controller object invokes its Group objects is determined by each Group object’s order value.
Groups can also be used for purposes beyond the Display cycle:
- They are closely involved in collision detection functionality.
- They can be used to propagate updates to their constituent artefacts - for instance animating them in a coordinated manner.
- Filters can be applied to entity objects at the Group level
Additional functionality to help control and interact with Groups is defined in the cascade mixin. Groups also use the base mixin, thus they come equipped with packet functionality, alongside clone and kill functions.
NOTE: Groups are NOT used to position a set of artefacts in the display - they have no positioning functionality, which is instead handled by the artefact objects themselves. To position and move a collection of artefacts around the display, choose one of them to act as a a reference, and then pivot or mimic other artefacts to that reference. When you position or animate the reference artefact, all the other artefacts will position/move with it. See Demo Canvas-002 for an example.


fastlane.ci uses an encryption key to encrypt your API tokens and passwords written out to the private fastlane.ci configuration repository generated at the end of onboarding.
fastlane.ci needs you to set up a CI bot account to update the build status, etc.
fastlane.ci requires you setup a private configuration repository on GitHub


|
Prajwal Gunjikar UI Designer + Front End Developer Hello, this mailer consist of Resume, Design Portfolio and Past Work Experience.
○ Resume Below I have attached my Resume and Link to my website. Please do visit my website for more of my work.
○ Experience Jan 2020 - April 2020 | Manomaya Software Tech | Front End Developer May 2020 - June 2020 | Crossbow Labs | UI Designer
○ Skills HTML + CSS Adobe XD + Figma Server Side Deployment on cloud Version Control |


WITNESS LIST Jurisprudence Committee July 14, 2003 - 9:00A HB 3 FOR: Gjemie, Ronnie "Reeferseed" (Self, Truth, Freedom Coalition), Spicewood, TX Jackson, Charles (Self), San Antonio, TX AGAINST: Bartholomew, Dana (Self), Pflugerville, TX Burgen, Julia (Self), Arlington, TX Burkleo, Joe (Self), Dallas, TX Chavez, Ram Commander (American GI Forum of Texas), Corpus Christi, TX Clayton, Nan (Self), Austin, TX Cobarruvias, John (Self), Houston, TX Conwell, Mike (Dawn Mulkay and the attached individuals), Austin, TX Cornyn, Olivia (Self), San Antonio, TX Cosper, Scott Killeen City Councilman (City of Killeen), Killeen, TX Courage, John (Self), San Antonio, TX Dana*, Sherry (Self), Georgetown, TX De Lozier, Abbe (Self), Austin, TX Dieter, Alison (self and Texas Gray Panters), Austin, TX Faulkner, Clara (A. Philip Randolph Org. and UAW 129), Fort Worth, TX Felthauser*, Karen (Self), Round Rock, TX Fildes, Stephen (Self), Austin, TX Gilmore, Kathy Mayor Pro-Tem (Self and City of Killeen), Killeen, TX Gladden, Richard (Self), Denton, TX Gonzales, Melissa (Self), Austin, TX Gray, Diana (Self), Austin, TX Howard*, Robert (Coalition for Non Partisan Redistricting), Austin, TX Jouett, Maureen Mayor (Citizens & City Council of the City of Killeen/Self), Killeen, TX Kaler*, Robert (Self), Austin, TX Kronz, Leslie (Self), Austin, TX Kutner, Marc (Self), Austin, TX Lichtman, Allan (Texas Congressional Democrats), Bethesda, MD Marlett, Jason (Self), Austin, TX Miller, Mike (Self), Marshall, TX Mlotok, Marion (Self), Austin, TX Nanze, Maxine (Self), Atlanta, TX Perry, Paul (Self), Austin, TX Presley, James Dr. (Self and Friends United for a Safe Environment), Texarkana, TX Ray, Willie Councilwoman (Self), Texarkana, TX Reid, Susan (Self), Austin, TX Richardson, Judy (Self), Austin, TX Robbins, Paul (Self), Austin, TX Robinson, Eugene (Self), Jefferson, TX Rockwell, Leonard (Self), Mt. Pleasant, TX Roland, Jon (Coalition for Non-Partisan Redistricting), Austin, TX Rush, Barbara (Self), Austin, TX Salomon, Roberto (Self), Austin, TX Santana, Sonia (Self), Austin, TX Savoy, Hargie Faye (M.L.K.5.GSET.), Port Arthur, TX Shumake, Max (self and Sulphur River Oversight Society), De Kalb, TX Storie, Tracie (Self), Round Rock, TX Thomas, Cara (Self), Ft. Worth, TX Thomas, Kathleen (Self), Austin, TX Thompson, Pam (Self), Austin, TX Turner Spears, Linda (Community Leader and Civic Servant), Port Arthur, TX Vaquera, Greg (Self), Arlington, TX Wray (through Pam Thompson), Stefan (Peace Action TEXAS), Austin, TX Registering, but not testifying: Against: Adams, Robert (Self), Austin, TX Altiok, Ozlem* (Self), College Station, TX Armstrong, Shannon (Self), Austin, TX Baker, Donna (Self), Austin, TX Ball, Jim (Self), Austin, TX Banner, Bruce (Public School Employees (Education Austin)), Austin, TX Bezanson, Janice (Self), Austin, TX Borden, Ann (Self), Round Mountain, TX Bottoms, Shirley (Self), Austin, TX Bradley, Charles (Self), Austin, TX Bray, Loye (Self), Austin, TX Bray*, Henry (Self), Austin, TX Breaux, Misty (Self), Austin, TX Burke Davis, Colleen (Self), Austin, TX Cardenas, Roberto (Self), Austin, TX Carlow, James County Judge (Bowie County), New Boston, TX Carlsoa*, Virgil* (Self), Georgetown, TX Castillo, Elisa (Self), Austin, TX Cheng, Michelle (Self), Austin, TX Clark, Kitty (Self), Austin, TX Clarke, Margot (Self), Austin, TX Clarkson, Judith (Self), Austin, TX Coakley, Donald (independent Texans), Austin, TX Colbert, Linda (Self), Austin, TX Constant, Lauren (Self), Austin, TX Cramer, Pat (Self), Austin, TX Curtis, Linda (Independent Texans), Bastrop, TX Daniels, Susan (Self), Austin, TX David, Esther (Self), Pflugerville, TX Davies, Martha (Self), Austin, TX Davis, Dick (Self), Austin, TX Deshotel, Joseph Representative (Citizens of District 22, Texas House of Representatives), Beaumont, TX Detlaan*, Melissa (Self), Austin, TX Dibrell, Jayne (Self), Austin, TX Dibrell, Joe (the voters), Austin, TX Dlugach*, David (Self), Austin, TX Doggett, Lisa (Self), Austin, TX Doss, Leslie (NALC), Austin, TX Doughty*, Linda (Self), Austin, TX Dyer, Nancy (Self), Wimberley, TX Emerson, Don (Self), Austin, TX Fagelson, Bill (Self), Austin, TX Floyd, Walter (Self), Austin, TX Forde, Katherine (Self), Spring, TX Gerhard, Kristen (Self), Austin, TX Goldsmith, Kathleen (Self), Austin, TX Goldsmith, Richard (Self), Austin, TX Gonzalez, Sonia (Self), Austin, TX Goodwin, Kathryn (Self), Austin, TX Harris, Elvin (Waller County), Hockley, TX Hellums, Marilyn (Self), Round Rock, TX Herrup, Amy (Self), Austin, TX Hibbetts, Alegria (Self), Austin, TX Hidalgo-Sotelo, Barbara (The Hidalgo Family), Austin, TX Hilder, Julia (Self), Austin, TX Hill, Claire (myself and minorities and rural citizens all across Texas), Austin, TX Horwitz, Deborah (Self), Austin, TX Hubener, Ann (Self), Duncanville, TX Jack, Jeff (Self), Austin, TX Johnson, Scott (Self), Austin, TX Kohler, Anne (Self), Austin, TX Kraft, Julius (Self), Austin, TX Krivoniak II, Nicklas (Self), Austin, TX Kronz, Fred (Self), Austin, TX Llanes, Daniel (Self), Austin, TX Logan, Steve (self and parents in Cong. Jim Turner's District), Austin, TX Manson, Jeffrey (Self), Austin, TX Maret*, David (Self), Austin, TX Martens*, Elaine (Self), Austin, TX Matthews, Marc (Self), Austin, TX Mayer-Oakes, Mary (Self), Austin, TX McCleadon, Ruth Jones Representative (District 120), Austin, TX McLaughlin, Amy (Self), Austin, TX McMorrow, Kathleen (Self), Austin, TX McQuage, Milton (Self), Manchaca, TX Moore, Amanda (Self), Austin, TX Mora, Tasha (Self), Pflugerville, TX Muras, Matthew (Self), Austin, TX Myers, Barbara (Self), Austin, TX Neavel, Nancy (Self), Austin, TX Norelli, Linda (Self), Austin, TX Norwood, Lana (Self), Austin, TX O'Donnell, Lisa (Self), Austin, TX Olds, Brenda (Self), Austin, TX Owens, Felecia (Self), Austin, TX Park, Kristi (Self), Austin, TX Pasupathi, Vimala (Self), Austin, TX Patllan Harris, Rosa (Self and Waller County Democratic Executive Committee), Hockley, TX Peavey, Katherine (Self), Austin, TX Persa, Diana (Self), Austin, TX Pierson III, Burton (Self), Austin, TX Placek, Beth (Self), Austin, TX Powell*, Gregory (ATSCME*), Austin, TX Quagcino, Chris (Self), Austin, TX Ramsey, Lesley (National Organization for Women-Texas), Austin, TX Reid, William (Self), Austin, TX Rockwell, Helen (Self), Mt. Pleasant, TX Rude, Stephanie (Self), Austin, TX Rush, Sharron (Self), Austin, TX Samuelson, Fran (Self), Georgetown, TX Sayers, Lowell (Self), Austin, TX Scheinberg, Aaron (Self), Austin, TX Shea, Brigid (Self), Austin, TX Simons, James (Self), Austin, TX Smith, Clint (Gray Panthers of Tx), Austin, TX Smolinsky, Gerald (Self), Austin, TX Smolinsky, Marilyn (Self), Austin, TX Sperry, Teri (Self), Austin, TX Standlee, Doris (Self), Austin, TX Steffensmeier, Tim (Self), Austin, TX Strickland, James (Self), Austin, TX Tedter, Ross (Self), Austin, TX Thomas, Jennifer (Self), Austin, TX Turner, Teresa (Self), Austin, TX Van Deusen, Teresa (Self), Austin, TX Vargas, Isaiah (Self), Austin, TX Vasquez, Brian (Dean for President), Austin, TX Wanjohi, Lenox (Self), Austin, TX Ward, David (Self), Austin, TX Watson, Dorothy (Self), Austin, TX Williams, Gwendlyn (Self), Austin, TX Williams, Nancy (Self), Austin, TX Winn, Gayla (South), Buda, TX On: Harper, Jeff (Self), Fort Worth, TX Hubener, Katy (Self), Grand Prairie, TX Nickerson, Jim (Self), Pittsburg, TX Wiggins, Heather (Self), Austin, TX Providing written testimony: Against: Blaylock, Madeline (Self), Del Valle, TX Carvell, Helen (Self), Austin, TX Clark-Bradley, Vicki (Self), Austin, TX Fairlamb, Horace (Self), Briarcliff, TX Haham, Connie (Self), Austin, TX Harris, Wylie (Self), Saint Jo, TX Hentges, Sandra (Greater Austin Chamber), Austin, TX Hoffman, Donna (Self and Austin Tan Cerca de la Frontera), Austin, TX Lehmann, Mary (Self), Austin, TX Mahoney, Tim (Self), Austin, TX May, Eliza (Self), Austin, TX McGarity, Cathleen (Self), Austin, TX McKeever, Robin (Self), Austin, TX Nordstrom, Catherine (Self), Austin, TX Raybuck, Susan (Self), Wimberley, TX Wardell, Emily (Self), Bastrop, TX HB 3 Witness List Notes ON: * (indicates illegible handwriting on witness affirmation card)


--- layout: post status: publish published: true title: Hey Look--It's September! author: display_name: Andy login: Andy email<EMAIL_ADDRESS>url: '' author_login: Andy author_email<EMAIL_ADDRESS>excerpt: 'Well the Cubs looked like they were in a great position to grab another series victory against the Phillies, but they failed offensively in the final two games and only managed to split. My favorite part of today''s game was Sean Marshall showing bunt, pulling it back, and hitting a single to center field. Other than that I could have done without all the clutch failure and stranded base runners. ' wordpress_id: 208 wordpress_url: http://ivyenvy.wordpress.com/?p=208 date: '2008-08-31 22:48:35 +0000' date_gmt: '2008-09-01 03:48:35 +0000' categories: - General Baseball - Starting Pitching - The Cubs tags: - Sean Marshall - September comments: [] ---
Well the Cubs looked like they were in a great position to grab another series victory against the Phillies, but they failed offensively in the final two games and only managed to split. My favorite part of today's game was Sean Marshall showing bunt, pulling it back, and hitting a single to center field. Other than that I could have done without all the clutch failure and stranded base runners.
September looks to be an exciting month for the Cubs. They play 25 more games, 12 of which are against the Cards and the Brewers. Though the Cards are all but out of contention, it will still be cool to see those two teams face off in September.


Kobe Bryant and LeBron James are both considered NBA legends.They were both drafted out of high school and went on to win numerous championships for their respective teams. But did one live up to the high expectations placed on him more than the other? Below, you can see data on the two players' first 18 years in the NBA. Compare the two players' overall stats per year and decide for yourself who is the stronger player.
Search by:
Choose a selection from the dropdown menu to compare the first 18 years of the players' career stats.


Attributes and Credits
Photos by
Free Pick.
Articles and Biographies by
Britannica.
Kids Code Images by
Galaxy Kidscode Club.
Kids can play games article by
Understood.
Website Developed and Integrated by
Ernest Kapesa.
Back to About Us


Register your account
Fill the form below and follow the instructions sent to you by email to create your account.
Schedule ademo
Fill the form below with your personal details to be contacted by a software engineer.
Sign up
Send info
Or, schedule a demo
Back to Sign up
Start managing now
Stop struggling with common tasks and focus on the real choke points. Discover a full featured HR management platform.
Already have an account ?
Login


Toggle navigation
Angular Chat
Login
Register
Chat
Log Out
Angular Real-time Chat
Simple - Powerful - Awesome!
About
An easy way to chat with whoever interested in Angular. Just register or login and get connected!


SEM-3 | Aug 2021 | IISER Pune
Mail Index
Choose your mail index. [Only useful if you are on Desktop]
Read this page for help and info.
The Classroom, Drive and Search Mail links depend on the mail index.
Current Mail Index = 1
BI 2113
Ecology and Evolution
BI 2123
Introduction to Biological Systems (E)
CH 2113
Principles of Inorganic Chemistry
CH 2223
Principles of Organic Chemistry II (E)
EC2113
Introduction to Climate Science
EC2123
Landscapes and their Evolution(E)
Course Material and Info
Some of the links require you to be signed in to your IISER Student Mail ID
MT2113
Introduction to Probability
MT2123
Advanced Linear Algebra (E)
PH1123
Physics Lab 1
PH 2113
Introductory Quantum Mechanics
PH2123
Mathematical Methods for Physics (E)
Course Material and Info
Some of the links require you to be signed in to your IISER Student Mail ID


A BUG'S LIFE (Disney/Pixar) Voices: Dave Foley, Kevin Spacey, Julia Louis-Dreyfuss, David Hyde Pierce, Denis Leary, Joe Ranft, Phyllis Diller, Richard Kind. Screenplay: Andrew Stanton and Donald McEnery & Bob Shaw. Producers: Darla K. Anderson and Kevin Reher. Directors: John Lasseter and Andrew Stanton. MPAA Rating: G. Running Time: 95 minutes. Reviewed by Scott Renshaw.
A BUG'S LIFE deserves better. It deserves better than to be held up to that other computer-animated insect film from earlier this fall. It deserves better than to be compared to that other feature from Pixar. It's virtually impossible to talk about A BUG'S LIFE without invoking ANTZ and/or TOY STORY, but it deserves better. Films with this much wit, energy and imagination are too uncommon to diminish this one with such petty comparisons. A BUG'S LIFE is not just a delightful computer-animated family film about insects. It's a delightful film.
Not that it's a perfect one. It gets off to a slightly sluggish start, introducing an ant colony forced to collect a winter food supply for Hopper (Kevin Spacey), a grasshopper gang leader running an entomological protection racket. Our protagonist Flik (Dave Foley), a dreamer whose innovations tend to cause aggravations for the Queen (Phyllis Diller) and her successor-in-training Princess Atta (Julia Louis-Dreyfuss), inadvertently destroys the grasshopper offering one day, endangering the entire colony. Thus Flik takes it upon himself to head out from Ant Island and find warriors who will defend the ants when the angry grasshoppers return.
A BUG'S LIFE doesn't really take off until we meet the "warriors" Flik eventually finds in the big city. In actuality, they're a band of disgraced bug circus performers Flik mistakenly assumes are warriors, including put-upon walking stick bug Slim (David Hyde Pierce), clownish caterpillar Heimlich (Joe Ranft) and the hilarious, imcomprehensible acrobatic pill bug tandem Tuck and Roll (Michael McShane). The botched circus sequence in which they are introduced recalls Warner Bros. cartoons at their most rapid-fire anarchic, with the cast of colorful performers all delivering laughs. Though Foley is a pleasant enough presence, his redemption storyline isn't nearly as interesting as the circus performers' search for an adoring audience. He serves much the same function here as he does on TV's "NewsRadio," acting as the sane center around which more charismatic characters can do their thing.
He's also the center around which the animators can do their thing, and they do more than enough things to make for a wonderful ride. The throwaway gags in Flik's visit to the "big city" -- an annoying street mime mimicking Flik's every move, a cricket panhandler with a sign announcing "Wings pulled off by kids" -- are consistently appealing to viewers of all ages. Meanwhile, the big action set pieces, including an attack by a hungry bird, offer splendidly-paced thrills. Director John Lasseter has an uncanny eye for setting up a scene, and a comic sensibility most directors of live action should be willing to kill for. Nowhere is that more evident than during the closing credits, when Lasseter pulls out the kind of brilliant conceit that makes really good films feel like great films. Miss the final five minutes at your own peril.
Sure, it would have been nice if A BUG'S LIFE had had a story as tightly constructed as the buddy bonding of Woody and Buzz in TOY STORY. It would have been nice if the lead character had had as distinctive a personality as Woody Allen's Z in ANTZ.  Silly enough for kids, smart enough for adults, grandly-staged enough for anyone who loves movies, it offers entertainment that deserves a different kind of comparison. Understand that there probably haven't been a half-dozen better films of _any_ kind this year, and you'll be on to the kind of comparison A BUG'S LIFE really deserves.
On the Renshaw scale of 0 to 10 bug-y rides: 9.
Visit Scott Renshaw's MoviePage http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the MoviePage for details, or reply to this message with subject line "Subscribe".
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


ESC: save and exit.
F12: cancel.
↓: pick menu item
← ↑ → ↓
It is styled with CSS and we use JavaScript to show it (display: block).
How it works: Notice that the p element with class="flip" has an onclick attribute attached to it. When the user clicks on the p element, a function called myFunction() is executed, which changes the style of the div with id="panel" from display:none (hidden) to display:block (visible).
You will learn more about JavaScript in our JavaScript Tutorial.


This page is constructed as a component. It is unique in that it has a route, and so can be navigated to.


Wouldn’t it be absolute fun to actually run in Temple Run?! And how exciting it would be if you could create one such application all by yourself? No matter how many ever games we play, virtual games never fail to interest us.Yes! We are coming to teach you the skill of making this magic a reality. Time to learn the two sides of the same coin – augmented reality and virtual reality- together. A workshop where the participants start learning from the basics of AR and VR and move on to advanced concepts all the way till they are equipped with the skills to develop their own apps and experience them using the Google Gears, all in a span of 2 days.This Workshop is not constrained to any departments.
Coimbatore Institute of Technology , Coimbatore.
1. Will participation certificate will be provided?
You will receive participation certificate of kurukshetra
2. Do I need to carry laptops?
No. You can bring if possible
3. Do I need to have programming knowledge?
No, your interest is most suffice.
4.Do I need to carry any ID proof for the visit?
It is mandatory to carry your college ID card.
5.What is the cancellation/refund policy?
No refund on cancellation/no-show at the event.
6. Is there a dress code to be followed?
Wear comfortable semi-formals
7. Will Lunch be provided?
No, Lunch will not be provided.


Young Frankenstein
****
A film review by Chris Casino.
My ratings scale
**** - Excellent *** - Pretty good ** - Fair, don't go out of your way, though. * - Don't say I didn't warn you.
Cast: Gene Wilder (Dr. Fredrick Frankenstein), Peter Boyle (The Monster), Marty Feldman (Igor), Madeline Kahn (Elizabeth), Teri Garr (Inga), Cloris Leachman (Frau Blucher), Kenneth Mars (Inspector Kemp), Gene Hackman (Blind man).
Written by Gene Wilder & Mel Brooks, Directed by Mel Brooks, produced by Michael Gruskoff, Cinematography by Gerald Hirschfield, Music by John Morris.
This film, penned by Wilder and Brooks based upon a concept Wilder came up with, was nominated for a Best Screenplay Oscar in 1974. What puzzles me is what could've possibly won over it, because it's easily one of the funniest movies ever made, and it's also genuinely good because it could just as easily have been released as a straight horror film.
This loving parody of the old Universal Frankenstein pictures, using beautiful black and white photography and a chilling Universal-style music score by John Morris (Brooks' usual music man) stars Gene Wilder as Dr. Fredrick Frankenstein (sorry, Fronk-on-steen, as he prefers it in the film, and says repeatedly), who inherits his grandfather, Victor's castle, which he is ashamed of, as well as his assistants Igor the usual hunchback (a hilarious Feldman), and busty Inga (Garr). He decides to create his own Monster (Boyle) in an attempt to clear the family name, but as usual, the hunchback steals the wrong brain from the laboratory, and the Monster goes on a menacing spree throughout the countryside, much to the charign of the villagers and the one armed, peculiar voiced Inspector Kemp (Mars, in a funny takeoff on Lionel Atwill from SON OF FRANKENSTEIN).
This film is an excellent example of the fact that Mel Brooks and Gene Wilder can make a really good parody that is faithful to the genre if they like it well enough, which they obviously did in this case. Mel Brooks directs with the style of James Whale, and as I say, he could've just as easily edited out the jokes, despite his usual sexual puns, which, thankfully, are toned down here--and I'm sure Wilder is to thank for that--, and it really is in the style of the old movies.
Not only that, but we also have the excellent performances from each and every one of the cast members (and thankfully, Brooks does not appear like he usually does). Particularly good are Wilder's mad doctor, Boyle's Monster, and Feldman's riotous hunchback. I'm not forgetting about Kahn as Elizabeth or Leachman as Frau Blucher (EEEHHEEEHEEEHEEEHEEHEE! Sorry, couldn't resist), though.
Particular highlights:
1. Tie: Puttin' on the Ritz routine/blind man part 2. Feldman and Wilder's banter. 3. Scene where Wilder attempts to reach out to the Monster. 4.
This was ripped off fourteen years later by a low budget film called FRANKENSTEIN GENERAL HOSPITAL. I haven't seen this film, but I'm told it is the worst Frankenstein film ever made, and if it rips off this film as much as I've heard, I can see why. Except no cheap imitations, people. It's foolish to try to think you're going to make a good movie just by going and ripping this movie off. This is too good. You try that, you'll fail. I garauntee you that.
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


[1]
windows 7 their utmost priority beyond anything thing else would to offer a os that -lrb-/-lrb- .
[2]
not useful and all ways leads the same result which is backup and reinstall windows .


Hey {{name}},
Your {{car}} is due for its {{mileage}} mile service. Schedule an appointment today!
Make sure to bring this card to receive great savings!


SHTOOLS defines three major classes that simplify access to the underlying SHTOOLS functions:
The underlying data are stored in internal subclasses in different formats (e.g. kind = 'real' or 'complex' and grid = 'DH' or 'GLQ').
%matplotlib inline
from __future__ import print_function # only necessary if using Python 2.x
import matplotlib.pyplot as plt
import numpy as np
from pyshtools.shclasses import SHCoeffs, SHGrid, SHWindow
The spherical harmonics class SHCoeffs can be initialized directly from a numpy array that holds the spherical harmonic coefficient data. To initialize the coefficients to be zero except for the l=5, m=2 harmonic, we can write:
# Spherical harmonic coefficients are stored as a numpy array of
# dimension (2, lmax+1, lmax+1). The first column corresponds to
# the cosine [0], and sine [1] components, the second column
# corresponds to the spherical harmonic degree l, and the third
# column corresponds to the angular order m.
nl = 200
coeffs = np.zeros((2, nl, nl))
coeffs[0, 5, 2] = 1.
# Initialize the coefficient class. The default assumes 4-pi
# normalized coefficients, but the normalization convention
# can be specified by setting the optional parameters
# 'normalization' and 'csphase'. The normalization parameter
# can be either '4pi', 'ortho' or 'schmidt'. The Condon-Shortely
# phase is not used by default (1) but can be used by setting
# this equal to -1.
coeffs_l5m2 = SHCoeffs.from_array(coeffs)
coeffs_l5m2.plot_powerperdegree()
The coefficient class provides functions and methods that stay completely in coefficient space. To plot the function that corresponds to the coefficients, we need to expand it on a spatial grid (called DH2 in this case). The expand function returns a SHGrid class. The type and resolution of the grid is determined automatically to correspond to the maximum degree of the spherical harmonics coefficients to ensure good sampling.
The optional parameter 'grid' can either be 'DH2' for a Driscoll and Healy sampled grid with nlon = 2 * nlat, 'DH' for a Driscol and Healy sampled grid with nlon = nlat, and 'GLQ' for grids used with Gauss-Legendre quadrature.
grid_l5m2 = coeffs_l5m2.expand('DH2')
grid_l5m2.plot_rawdata()
Another constructor for the SHCoeffs class is the .from_random method. It takes a power spectrum (power per degree l of the coefficients) and generates independent normal distributed random variables with this power per degree l. This corresponds to a stationary and isotropic random model on the spherical surface whose autocorrelation function is given by the spherical harmonics addition theorem.
We initialize coefficients here with a scale-free power spectrum that has equal band power beyond the scale length that defines the size of the largest model features. The particular property of this model is that it is invariant under zoom operations.
nl = 100 # l = [0, 199]
lmax = nl - 1
a = 10 # scale length
ls = np.arange(nl, dtype=np.float)
power = 1. / (1. + (ls / a) ** 2) ** 0.5
coeffs_global = SHCoeffs.from_random(power)
coeffs_global.plot_powerperband()
grid_global = coeffs_global.expand('DH2')
grid_global.plot_rawdata()
Spherical harmonics coefficients can be expressed in a different coordinate system very efficiently. Importantly, the power per degree spectrum is invariant under rotation. While the degree l controls the wavevector magnitude, it is the order m that defines the orientation of the spherical harmonics. We demonstrate this by rotating a zonal spherical harmonic (m=0) that is centered around the north-pole to the equator.
nl = 200
coeffs = np.zeros((2, nl, nl))
coeffs[0, 5, 0] = 1.
coeffs_l5m0 = SHCoeffs.from_array(coeffs)
# Rotations are specified by the three Euler angles alpha, beta, and gamma.
# There are several different convenctions for specifying these angles,
# and they can either provide the angles for rotating the physical body
# or coordinate system. Please read the documentation of this method
# before proceeding!
alpha = 0. # around z-axis
beta = 90. # around x-axis (lon=0)
gamma = 10. # around z-axis again
coeffs_l5m0_rot = coeffs_l5m0.rotate(alpha, beta, gamma, degrees=True)
fig, ax = coeffs_l5m0_rot.plot_powerperdegree(show=False)
ax.set(ylim=(1e-1, 1e0))
grid_l5m0_rot = coeffs_l5m0_rot.expand('DH2')
grid_l5m0_rot.plot_rawdata()
Similar grids can be added, multiplied and subtracted using the standard python operators
grid_new = grid_l5m0_rot + grid_l5m2
grid_new.plot_rawdata()
coeffs = grid_new.expand()
coeffs.plot_powerperdegree();


STP_StartBridge
void STP_StartBridge
(
STP_BRIDGE* bridge,
unsigned int timestamp
);
Summary
Starts the Spanning Tree Protocol on a bridge.
Parameters
- bridge
- Pointer to a STP_BRIDGE object, obtained from
STP_CreateBridge.
- timestamp
- A timestamp used for the debug log.
Remarks
Starting the Spanning Tree Protocol from application code is usually a
three-step procedure:
- a call to STP_CreateBridge, which allocates
internal structures and initializes all parameters to default values;
- various calls to functions such as STP_SetBridgePriority
and STP_SetStpVersion, possibly with values
read from a configuration file; the protocol is not yet started, so there won't
be any STP activity with temporary parameters.
- a call to this function, which starts the protocol directly with
application-specified parameters.
The
application must not call this function for already-started bridges.
Execution of this function is a potentially lengthy process.
It may call various callbacks multiple times.
This function may not be called from within an STP callback.


Home
Recommendations
Project Details
Resources
Because you loved this:
We think you might also like these outfits from Trendily...
{% for i in range(0,5) %}
{{ images[i].split("/")[-2] }}
{{ urls[i].split("/")[-1].replace("_", " ") }}
{% endfor %}
Try Again


Brazil's Vale failed to report dam defects that could have avoided tragedy: Official
RIO DE JANEIRO: Mining giant Vale failed to report problems at a massive tailings dam in Brazil that could have averted its collapse, killing hundreds, a government agency said on Tuesday (Nov 5).
The Jan 25 dam breach in the mineral-rich state of Minas Gerais spewed millions of tons of mining waste across the countryside, leaving 270 people dead or missing, and forcing Vale to suspend some of its operations.
Internal Vale documents seen by investigators from the National Mineral Agency (ANM) show the mining company was aware of problems with a drainage system installed seven months before the disaster.
On Jan 10 - two weeks before the dam ruptured - two devices measuring liquid pressure had reached emergency level.
"The increase in pressure of the piezometers compromised the stability of the dam," ANM said in a statement.
But Vale failed to report any of the problems to the agency.
"If ANM had been correctly informed, it could have taken precautionary measures and forced the company (Vale) to take emergency actions that could have avoided the disaster," ANM said.
In a statement Vale said it would not comment on the "technical decisions taken by its geotechnical team at the time."
The company said it would wait for the "expert, technical and scientific conclusions on the cause of the dam rupture."
The ANM report comes amid growing pressure on the global mining giant.
Police said in September they have enough evidence to charge employees of Vale and its German auditor over false information used to certify the safety of the dam.
It is up to prosecutors to decide whether to charge seven Vale workers, none of whom are senior managers, and six employees of TUV SUD.
The TUV SUD employees include a German-based business development director, engineers and consultants who certified the dam's stability in 2018.
That came after a judge ordered Vale to pay nearly US$3 million to the families of three victims of the tragedy.
A separate court ruling in July ordered Vale to pay for all the damage caused by the disaster, without quantifying the amount of money.
Brazil has since banned the construction of new upstream dams, which are cheaper but less stable than other types of tailings dams, and ordered the decommissioning of existing ones.
ANM's damning accusations came on the fourth anniversary of the collapse of another tailings dam owned by a joint venture between Vale and the Anglo-Australian miner BHP.
The failure of the Fundao tailings dam unleashed a torrent of nearly 40 million cubic metres of highly toxic mine sludge over areas of the Mariana district, also in Minas Gerais.
The mud killed 19 people and flooded 39 towns, marking Brazil's worst environmental disaster.


@* * Copyright 2010-2023 Artima, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import controllers.Application.scaladocsPageUrl @import controllers.Application.milestoneScaladoc @combinedReleaseNotesPage("Scalactic/ScalaTest 3.2.15 Release Notes") {
ScalaTest/Scalactic 3.2.15 (for Scala 2.10, 2.11, 2.12, 2.13, 3.1; on the JVM, JavaScript, and native) includes the enhancements listed below.
For information on how to include ScalaTest in your project, see the install page. For information on how to use Scalactic in your production code, see its install page.
ScalaTest 3.2.15 is a minor release of ScalaTest that makes bug fixes, few enhancements, and supports Scala.js 1.8.x, Scala.native 0.4.9 and Scala 3.1.x.
Updated diagrams macro for Scala 2 and 3 to render xml literal consistently between scala versions. (PR #2169)
Adjusted code in StepwiseNestedSuiteExecution to work with async test. (PR #2211)
Fixed future get executed 2x problem in diagrams macro. (PR #2219)
Added more Scala 3 infix keyword for style traits and matchers DSL functions. (PR #2170)
Marked FutureOutcome, Sequential, Stepwise, Suites and Tag as open class in Scala 3. (PR #2178)
Updated to use Scala 2.12.17 and 2.13.10. (PR #2171)
Updated to use Scala Native 0.4.9. (PR #2216)
ScalaTest 3.2.15 contains no new deprecations.
Fix prettifier not being used for property check. (PR #2173)
Enhanced GenSeqDiffer, GenSetDiffer and GenMapDiffer to support find diff elements according to limit size of prettifier when available. (PR #2177)
Scalactic 3.2.15 contains no new deprecations.
Visit ScalaTest Release Notes for links to the release notes of all previous versions, or step back in time by visiting the release notes for the previous version.


Home
x is equal to
?
y is equal to
?
z is equal to
?
In this example x, y, and z are varibles.
What is z?
Identify y
Reset Excercise


getOption($key) to obtain the desired option
where $key is a name listed in the table below
and
setOption(string $option, [mixed $value = null] ) to set a new option.
The method can be called several times in order to set or overwrite existing option.
Example: If we want to change the minial characters before autocomplete lunches, the we can do this:
<?php ... $ac = new jqAutocomplete($conn); // We use the northwind database // Set the SQL command $ac->SelectCommand = "SELECT CompanyName FROM customers WHERE CompanyName LIKE ? ORDER BY CompanyName"; // Set from where to get the dat. In this case from the same file $ac->setSource("firstautocomplete.php"); // set the minLength option $ac->setOption('minLength', 3); // Enjoy $ac->renderAutocomplete("#company"); ?>
Bellow is a list of all available grid options
|
Type |
Name |
Description |
Default |
|---|---|---|---|
|
string |
appendTo |
You can now define which element the menu is appended to. The default is to append to the body, which is the previous behavior. The appendTo option take any valid selector. If the selector matches multiple elements, the menu will be appended to the first matched item. |
false |
|
boolean |
disabled |
Disables (true) or enables (false) the autocomplete. Can be set when initialising (first creating) the autocomplete. |
false |
|
integer |
delay |
The delay in milliseconds the Autocomplete waits after a keystroke to activate itself. A zero-delay makes sense for local data (more responsive), but can produce a lot of load for remote data, while being less responsive. |
300 |
|
integer |
minLength |
The minimum number of characters a user has to type before the Autocomplete activates. Zero is useful for local data with just a few items. Should be increased when there are a lot of items, where a single character would match a few thousand items. |
1 |
|
array |
position |
You can now define where the menu will be displayed. The default is to display the menu below the text field, with the left edges aligned. More on this can be found here |
false |
Other options can be set using the properties of the class. Refer to Autocomplete Variables


The engineering forum is a place where Queen's Engineering students can come to have their questions answered. It is pretty simple to use. If you have a question, then post it. If you see questions that you know the answer to, then answer them!
Upvote/Downvote
You are able to upvote and downvote questions and answers. It is good practive to upvote a questions that are posted and that you would also like to have answered. It is also good practive to upvote answers that you agree with so they can be seen as the "best" answer.
Subscribe to Questions
You are also able to subcribe to questions that you would like to follow. If you are subscribed to a question and someone posts an answer to the question, you will receive an email notification.
Forum Organization
The forum organizes questions through tags. Every question has to have a course code tag associated with it and additional tags can be applied if desired. For instance, MECH 111 (Physics) should have the tag "MECH 111" associated with it and you can also add a "Physics" and "Newton" tag if you would like. You can then search the forum for questions that fall under a particular class or topic.
Class Information and Ratings
Not only are you able to ask and answer questions, but you are also able to view a list of Queen's Engineering courses and rate them. The class pages include information such as the course description, professor, and credit weighting. You are also able to rate Queen's Engineering courses. Ratings occur on a 5 star scale and the average rating for each course is calculated.


An error occurred. Check the logs.
Some details:
Path
Query parameters
Status
Timestamp
Error
Exception


This is a collection of code you can borrow to make various kinds of plots using packages like ggplot.
[html] [Rmd]